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

Support for using statsd.Client as an otel.MeterProvider #303

Draft
wants to merge 9 commits into
base: master
Choose a base branch
from

Conversation

imle
Copy link

@imle imle commented Mar 11, 2024

Looking to get some comments and guidance on this approach before getting to far into the weeds.

After a number of attempts, I settled on implementing the MeterProvider interface as a passthrough for otel metrics to the statsd.Client. This keeps much of the pipelineing system from otel out of the way of keeping things lined up with how this library already sends metrics.

Outstanding Work:

  • observable metrics, the whole reason this needs to be implemented in the statsd library
  • callbacks registered against the meter
  • verify that it is acceptable to send a float64 as a Counter value
    it does not appear to be acceptable
  • cleanup and improve readability and repeated work

@carlosroman
Copy link
Contributor

I wonder if this will break our compatibility with older versions of Golang. At the moment datadog-go compiles and works with versions all the way back to go 1.12.
This is an interesting approach to being able to reuse our Golang client to send OTel metrics. I'll discuss this internally to see what people think.

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.

2 participants