Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[chore] Add grpc instrumentation e2e test #106

Closed
wants to merge 13 commits into from

Conversation

MikeGoldsmith
Copy link
Member

Add e2e test for grpc instrumentation.

@MikeGoldsmith
Copy link
Member Author

I've tested the app runs and calls the grpc server. Do we know for sure grpc instrumentation is working?

@JamieDanielson
Copy link
Member

I've tested the app runs and calls the grpc server. Do we know for sure grpc instrumentation is working?

No, we don't 😄 Check out #78 . That was the main drive behind wanting a test on this sooner than later. Did you create the traces.json part of the test from scratch based on the others?

@damemi
Copy link
Contributor

damemi commented Apr 27, 2023

Looks like the sample job is timing out in the CI failure: https://github.com/open-telemetry/opentelemetry-go-instrumentation/actions/runs/4811053910/jobs/8564536923?pr=106#step:15:5

Checking out your branch and running make fixture-grpc on my machine, the Pod logs appear to have the same error that @JamieDanielson pointed out in #78:

$ kubectl logs pod/sample-job-4prmc -c auto-instrumentation
...
{"level":"error","ts":1682607535.4222052,"caller":"instrumentors/runner.go:86","msg":"error while loading instrumentors, cleaning up","name":"google.golang.org/grpc","error":"field UprobeHttp2ClientCreateHeaderFields: program uprobe_Http2Client_CreateHeaderFields: load program: permission denied: ;: 977: (07) r6 += -384 (truncated, 1060 line(s) omitted)","stacktrace":"go.opentelemetry.io/auto/pkg/instrumentors.(*instrumentorsManager).load\n\t/app/pkg/instrumentors/runner.go:86\ngo.opentelemetry.io/auto/pkg/instrumentors.(*instrumentorsManager).Run\n\t/app/pkg/instrumentors/runner.go:34\nmain.main\n\t/app/cli/main.go:86\nruntime.main\n\t/usr/local/go/src/runtime/proc.go:250"}
{"level":"info","ts":1682607535.4222748,"caller":"grpc/probe.go:228","msg":"closing gRPC instrumentor"}
{"level":"error","ts":1682607535.4222934,"caller":"cli/main.go:88","msg":"error while running instrumentors","error":"field UprobeHttp2ClientCreateHeaderFields: program uprobe_Http2Client_CreateHeaderFields: load program: permission denied: ;: 977: (07) r6 += -384 (truncated, 1060 line(s) omitted)","stacktrace":"main.main\n\t/app/cli/main.go:88\nruntime.main\n\t/usr/local/go/src/runtime/proc.go:250"}

…trumentation into mike/grpc-test

# Conflicts:
#	.github/workflows/kind.yml
#	Makefile
@MikeGoldsmith
Copy link
Member Author

Also blocked by:

@MikeGoldsmith
Copy link
Member Author

Going to wait for #150 as it resolves part of the issue I was working through. The content of the traces json still has some fixes that we'll need to resolve.

can successfully run `make fixture-grpc`

some of the probe redaction can likely be removed once open-telemetry#150 is merged into this branch
@MrAlias
Copy link
Contributor

MrAlias commented Aug 15, 2023

@MikeGoldsmith it looks like #150 has merged. Are you still planning to work on this?

@MrAlias
Copy link
Contributor

MrAlias commented Nov 14, 2023

Superseded by #453

@MrAlias MrAlias closed this Nov 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

add fixture-based e2e test for grpc instrumentation
5 participants