-
Notifications
You must be signed in to change notification settings - Fork 440
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
Datadog and opentelemetry-cpp #2196
Comments
Would be interested to hear the options you have explored, either as comment here, or in general if you would like to join the community meeting to discuss further :) |
@lalitb The two best candidates so far are:
All of the other options that I looked into have a similar user experience Another, completely different, approach would be to extend the OpenTelemetry What do you think of these approaches? How should we get Datadog aboard the If either (1) or (2) is viable, then I have a preference for (2). However, (1) |
@dgoffredo thanks for providing the alternatives. These was also shortly discussed in community meeting. I would suggest |
@dgoffredo should this be good to close, or if you have some other asks ? |
Yes, this is good to close. I'll mention it in a future issue in opentelemetry-cpp-contrib, but we've cleared up the topic here, I think: Datadog can create its own implementation of the opentelemetry-cpp API using the opentelemetry-cpp SDK, and host the implementation in a separate repository. |
Datadog is interested in integrating with opentelemetry-cpp. Previously we integrated with OpenTracing via dd-opentracing-cpp. We now have a dedicated core tracing library called dd-trace-cpp that does not implement any API.
Currently, Datadog customers can instrument their C++ code using opentelemetry-cpp and then configure the library to send traces to the Datadog Agent, which speaks OTLP.
However, this precludes several Datadog-specific tracing features. An example of one such feature is the ways in which trace sampling can be configured.
Other programming language integrations, such as Datadog's Go tracer, implement the "tracer" and "tracer provider" interfaces in a separate library that customers can then depend on to provide a Datadog-specific tracer for their otherwise OpenTelemetry-generic code.
Integrating with opentelemetry-cpp is important not only for customers using OpenTelemetry programmatically, but also for users of HTTP proxies whose tracing will be provided by OpenTelemetry, such as the NGINX Ingress Controller for Kubernetes. In fact, tracing support within HTTP proxies is my primary concern.
Which approach do you recommend for adapting the capabilities of dd-trace-cpp into OpenTelemetry?
I've done a cursory exploration of several options, which I'm happy to discuss here in more detail.
The text was updated successfully, but these errors were encountered: