-
Notifications
You must be signed in to change notification settings - Fork 573
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
Initial gin-gonic instrumentation with otel-go #15
Conversation
Ready for review. For now I have added a mock tracer to otel-go-contrib instead of exposing the one in otel-go. This is to avoid waiting for the potential otel-go changes to make it to master. |
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.
LGTM, glad to see the Dockerfile
and docker-compose. I'll have a go at the docker-compose later to verify.
Didn't Datadog sign the CLA allowing the copyright notice to read just the OTel authors? |
Updated:
Also me when you talk about legal stuff: [insert meme with Homer Simpson backing into the bushes] ;) |
Updated again to fix a documentation of the |
@lizthegrey i don't believe anybody from datadog had committed to this repo with a signed CLA as was done in the opentelemetry-python-contrib repo open-telemetry/opentelemetry-python-contrib#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.
requesting change as described in #15 (comment)
Updated, did some small fixes in tests, and added the NOTICE file. |
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.
I'm sorry, but I'm going to need to block merging this until we can discuss the CLA, the copyright notice, etc. at governance committee.
@lizthegrey is there an eta on discussing with the governance committee? fyi i used https://github.com/cncf/foundation/blob/master/copyright-notices.md#what-about-third-party-code as guidance for this PR since the code is altered from original source |
Tomorrow.
There are certain sensitivities here about not wanting to bias towards any one vendor in the copyright notices, etc. -- none of the other code contributed to OTel says "copyright Honeycomb", "copyright Lightstep", etc. so it's a matter of fairness. |
We met. @tedsuo will follow up with more specific detail, but the CNCF third party code guideline applies unless the contributor has waived the requirement. In this case, the contributor Datadog has waived the requirement (they are not a third party to this project). One way to move forward may be to explicitly get a Datadog engineer to append the commit that strips the copyright notices to make clear that it's officially sanctioned. |
Thanks @lizthegrey. I'm reaching out to Datadog. I feel we have been given permission to change these licenses, but I will confirm again, and look to adding a clause in our community repo to clarify this subject. |
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.
Plugin code looks good, I understand there is some stuff to iron out regarding the DataDog licence though.
Datadog did give our explicit permission to attribute copyright to "OpenTelemetry Authors" here: open-telemetry/community#305 (comment) I wasn't previously aware of this thread. If there are future questions about the topic or clarification needed, do feel free to mention me so I can take a look. |
Thanks, y'all. |
Based on [this](open-telemetry/community#305 (comment)) approval, changing attribution to the OpenTelemetry authors.
Use new `kv` and `value` packages.
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.
LGTM
goimports for import rewritting golangci-lint as the configurable linting swiss army knife. These tools are recorded in [tools.go](https://github.com/golang/go/wiki/Modules#how-can-i-track-tool-dependencies-for-a-module). This records them as a dependency to make sure we're all using the same tool versions. To make sure this project's tool's versions don't stomp over versions from other projects, they are installed in ./.tools, which is .gitignored. goimports was run and fixed up a single file: plugin/httptrace/httptrace.go I prefer to group local packages below external packages, hence the use of goimports -local option. .golangci.yml contains nothing but an incomplete set of defaults ATM. I expect those to change over time though. ;-) To use, run: $ make precommit Fixes #15
This is some initial code that does the instrumentation. Still need to fix the tests, add docs and a Dockerfile with an example app. So it's work in progress.
There is the
common.go
file that is mostly about attributes for the span. I suppose it will end up being elsewhere in the long run.