-
Notifications
You must be signed in to change notification settings - Fork 651
Add go-kit instrumentation library #456
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
Add go-kit instrumentation library #456
Conversation
This PR is not ready yet: more tests and some examples are missing, but I wanted to submit the PR early so I can get some feedback.
|
instrumentation/github.com/go-kit/kit/otelkit/endpoint_options.go
Outdated
Show resolved
Hide resolved
instrumentation/github.com/go-kit/kit/otelkit/endpoint_options.go
Outdated
Show resolved
Hide resolved
Thanks for the review @matej-g I think it's enough for me as a sanity check to finish the PR, so an approver can also review and merge it. |
I was finally able to finish this PR: improved test coverage, added an example based on gorilla and updated the documentation. I think it's ready to be merged. What is the procedure for adding it to the registry? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work @sagikazarmark, this PR looks complete to me now.
What is the procedure for adding it to the registry?
There is another repository for opentelemetry.io
, there you can find the "registry" under https://github.com/open-telemetry/opentelemetry.io/tree/master/content/en/registry. Basically once this PR is merged, you can create a PR for that repository which will add a new entry, something like instrumentation-go-kit.md
, to represent your instrumentation package. You can checkout the other registry entries as a reference to know what your .md
file should include.
Thanks @matej-g I guess adding it to the registry is not a task for this PR, so I crossed it off. |
I've rebased the PR to use the latest version. Is there anything I can do to get this merged? I'd really like to avoid manually rebasing and updating the version. :) |
Happy new year everyone! Friendly ping to see if we can get this merged before the next release. 🙂 |
Hey folks, Can someone merge this PR please? I'd really like to stop rebasing it, it's a waste of effort. It's been approved by three reviewers. What else do I have to do to get it merged? Thanks! |
Codecov Report
@@ Coverage Diff @@
## main #456 +/- ##
=======================================
+ Coverage 77.9% 78.1% +0.1%
=======================================
Files 55 57 +2
Lines 2602 2664 +62
=======================================
+ Hits 2029 2082 +53
- Misses 443 451 +8
- Partials 130 131 +1
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall this looks good, thanks for the contribution. The blocking issues are the dependabot config change, upgrading to v0.18.0, and the RecordError
question needs to be addressed.
instrumentation/github.com/go-kit/kit/otelkit/example/go.mod
Outdated
Show resolved
Hide resolved
Signed-off-by: Mark Sagi-Kazar <[email protected]>
Signed-off-by: Mark Sagi-Kazar <[email protected]>
Signed-off-by: Mark Sagi-Kazar <[email protected]>
Signed-off-by: Mark Sagi-Kazar <[email protected]>
Signed-off-by: Mark Sagi-Kazar <[email protected]>
Signed-off-by: Mark Sagi-Kazar <[email protected]>
@MrAlias thanks for the review. I addressed most of it. Regarding |
Signed-off-by: Mark Sagi-Kazar <[email protected]>
I changed it to use |
This might be something that needs to be clarified better. You are correct that the semantics of That said, OTel in general wanted to provide a better errors interface in the future so this is likely going to be improved. Thanks for the contribution and patience! |
Thanks for merging |
* make trace.TraceContext as default context propagator * Update api/trace/trace_context_propagator.go Co-Authored-By: Krzesimir Nowak <[email protected]> * Update plugin/othttp/handler.go * Update DefaultPropagator in plugin/{http,grpc}trace * update DefaultPropagator as method instead of var Co-authored-by: Krzesimir Nowak <[email protected]> Co-authored-by: Rahul Patel <[email protected]>
Fixes #434
Tasks
Dockerfile
with example app showing instrumentation (alternatively link to https://github.com/sagikazarmark/modern-go-application which serves as an example app for Go kit, showcasing OpenTelemetry as well)instrumentation added to the opentelemetry registry