open-telemetry / open-telemetry/opentelemetry-java-instrumentation
The `process` span having two links to the `receive` one in Kafka Streams application
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 2.6k
- Forks
- 1.2k
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 228
Description
When using the Java agent to instrument a simple Kafka Streams based application, enabling -Dotel.instrumentation.messaging.experimental.receive-telemetry.enabled=true, what I get is a process span having two links to the receive one: a CHILD_OF and FOLLOW_FROM. I would expect only the FOLLOW_FROM.
"references": [
{
"refType": "FOLLOWS_FROM",
"traceID": "df5c997a34fc22e61592c0ce3d13cfa0",
"spanID": "67b9e44adbb5ed34"
},
{
"refType": "CHILD_OF",
"traceID": "df5c997a34fc22e61592c0ce3d13cfa0",
"spanID": "67b9e44adbb5ed34"
}
]
This issue was initially raised on #6443
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the simple Kafka Streams application with the Java agent and -Dotel.instrumentation.messaging.experimental.receive-telemetry.enabled=true, then inspect the process span references. Review the context from issue #6443 and trace how the receive span is related; done means the process span retains only the expected FOLLOWS_FROM link.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, kafka
- Domain
- distributed-systems, stream-processing
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100