opentelemetry-rust icon indicating copy to clipboard operation
opentelemetry-rust copied to clipboard

Datadog log export?

Open jssblck opened this issue 3 years ago • 3 comments

Hello! I'm getting an app set up that exports tracing spans and logs through tracing-opentelemetry to opentelemetry, which I'm finally sinking into opentelemetry-datadog (latest on all).

I've noticed the spans themselves work great and support nesting- thanks so much for the awesome work! My question is related to logs: I don't see them in datadog, even though I've enabled them in the DD collector and I'm seeing them in other tracing subscribers.

I searched around for this and found this comment on another issue:

I don't believe that logging is integrated in opentelemetry-datadog yet, could open a separate issue for that one

I'm opening this issue to ask:

  • Is log export indeed not supported?
  • If not, does the team have any recommendations for how to make it work?
    • No expectation, just wondering!
  • Would you all be open to a PR adding this functionality?
    • If so- I've never worked with implementing a trace collector, do you have any recommendations on where to start? No expectation of course, just asking!

Thanks for your time!

jssblck avatar Jun 21 '22 21:06 jssblck

Hey 👋 I haven't used datadog for a while so want to check by log do you mean the log appended as part of a span(Something like image

or it's just general logs? For the log within a span yeah I think it makes sense to add support for it. For general logs, we probably need to wait until the log API is merged so that we don't duplicate the work

TommyCpp avatar Jul 12 '22 06:07 TommyCpp

Hi @TommyCpp!

Personally I'm more after logs within a span, I think that's where most of the value is!

jssblck avatar Jul 12 '22 06:07 jssblck

Ahhh I see then I think we should have all you need to build one. In opentelemetry we have a concept called events, which usually corresponds with logs in spans.

We already have some conversion functions to convert opentelemetry spans to a datadog spans. With opentelemetry events attached to the spans, we can just convert them into logs in datadog spans. I think this can be a good starting point.

One question that remains is how does log is encoded in datadog format. Maybe worth taking a look at datadog agent implementation and see how they encode it. This is how we get the span works IIRC.

Either way, feel free to let me know if you need any assistance 🚀

TommyCpp avatar Jul 12 '22 06:07 TommyCpp