-
Notifications
You must be signed in to change notification settings - Fork 91
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
Fix gRPC instrumentation on recent kernels #150
Conversation
I tested this with the example in #78 and it no longer errors! This is the gRPC client span that's generated in the collector logs. It seems to be missing trace id and span id, and has a start time a few days in the past 😕 It could be an issue with the example app I'm using, but either way I think this fix addresses the error with loading the probe and this could be a separate issue.
|
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
@vreynolds thanks for trying it out! I tested it with the emojivoto application and sent the traces to Jaeger which looked good (correct spans + context propagation |
can successfully run `make fixture-grpc` some of the probe redaction can likely be removed once open-telemetry#150 is merged into this branch
In recent kernel versions, the eBPF verifier checks that a valid number of bytes (positive and not overflow) are being written/read from memory.
This PR adds additional bound checks so gRPC instrumentation now passes verification.
Tested on Ubuntu 20.02, x86, running in DigitalOcean.