Skip to content

Conversation

@Drowze
Copy link
Contributor

@Drowze Drowze commented Sep 1, 2025

What does this PR do?

On the Karafka integration, when distributed_tracing is on, the original trace was lost after iterating through the messages. This PR aims to fix that and also add span links linking the message traces with the parent consumer trace (so it's easier to find each other using the Datadog APM UI).

Fixes #4873

Motivation:
Fix and improve the Datadog Karafka support.

Change log entry

Additional Notes:

How to test the change?
See #4873 for a full testing snippet.

@Drowze Drowze requested review from a team as code owners September 1, 2025 13:33
@github-actions github-actions bot added integrations Involves tracing integrations tracing labels Sep 1, 2025
@Drowze Drowze changed the title Fix missing original karafka trace after iterating Fix losing original karafka trace after iterating through the messages with distributed_tracing on Sep 1, 2025
@Drowze
Copy link
Contributor Author

Drowze commented Sep 15, 2025

Hey @marcotc @ivoanjo can you have a quick look here please? 🙇

Would like to get this merged to not conflict with other Karafka/Waterdrop pull requests (e.g.: #4874 - and also I want to open a new PR soon about turning off distributed tracing on a per-topic basis, see here)

@ivoanjo
Copy link
Member

ivoanjo commented Sep 16, 2025

Err thanks for the patience, I've asked the team to take a look at this asap :)

@marcotc
Copy link
Member

marcotc commented Sep 17, 2025

@Drowze I took a first pass and I need to allocate proper time to understand how we best want to present this kind of workflow (span links, directly linking, something else).

I have scheduled time to take a good look at this next week.

@p-datadog
Copy link
Member

The repair to #4876 LGTM. Span links do not appear to be used in dd-trace-rb except in one place where an open telemetry trace is converted (mapped?) to a datadog trace. @Drowze how do you feel about moving the span link code into a separate PR and just leaving the fix in this PR?

@p-datadog
Copy link
Member

Regarding span links: I read https://docs.datadoghq.com/tracing/trace_collection/span_links/ to try to understand their usage. The documentation page says the span links are for relationships other than parent/child. In this PR they are used for parent/child relationship? What is the actual gain/benefit?

@p-datadog
Copy link
Member

Looking at this PR again I don't understand the fix. The problem is the parent trace gets reset somehow, therefore I would expect the fix to repair the reset. How is adding links fixing the reset?

@Drowze Drowze force-pushed the fix-lost-karafka-consumer-traces branch from 54c704d to 4f1847d Compare November 28, 2025 15:04
@Drowze
Copy link
Contributor Author

Drowze commented Dec 1, 2025

Coming back to this now - apologies for the delay 🙇

do you feel about moving the span link code into a separate PR and just leaving the fix in this PR?

Sure - sounds good to me. I understand that span links are not widely used at the moment and using them here just made the PR a bit confusing to review, so I'll move that part into a separate pull request - and we can continue discussing span links there.

@p-datadog I just rebased the PR with latest master and removed the code referring to span links - can you have another look please? 🙇

Copy link
Member

@p-datadog p-datadog left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @Drowze for splitting the PR.

I think this PR look good but I am not an expert in the tracing side, I'll try to find another reviewer.

@p-datadog p-datadog requested a review from ericfirth December 2, 2025 18:26
@Drowze Drowze force-pushed the fix-lost-karafka-consumer-traces branch from f8a9e45 to c32d6a6 Compare December 2, 2025 21:38
@Drowze Drowze requested a review from p-datadog December 2, 2025 21:38
@Drowze
Copy link
Contributor Author

Drowze commented Dec 9, 2025

Hey Datadog team 👋 @vpellan @p-datadog @marcotc @ivoanjo
Is there anything I can do to help moving this PR forward?

As of now we're having to use our own dd-trace-rb fork due to some issues/missing features around the Karafka/WaterDrop integration (our fork is the latest dd-trace-rb release (v2.22.0), plus this PR, #5120 and #5107).

@vpellan
Copy link
Contributor

vpellan commented Dec 12, 2025

Hey @Drowze ! Thanks for pinging me, I'll take a look at it asap !

@vpellan vpellan self-requested a review December 12, 2025 09:58
@p-datadog
Copy link
Member

Hi @Drowze , I have this on my list as well. I am currently working on some time-sensitive fixes but after that is done (hopefully by end of week) I plan on getting this PR merged.

We don't currently have automation around community PRs - this is essentially the blocker.

@vpellan
Copy link
Contributor

vpellan commented Jan 5, 2026

Running the CI here: #5192

@vpellan vpellan merged commit 580c02a into DataDog:master Jan 6, 2026
638 checks passed
@vpellan vpellan added the community Was opened by a community member label Jan 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

community Was opened by a community member integrations Involves tracing integrations tracing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG]: Karafka's "worker.process" trace is lost after iterating the messages (when distributed tracing is enabled)

6 participants