Differentiate between active/passive message consumption when translating otel spans
- Dominant language
- Go
- Stars
- 1.3k
- Forks
- 543
- Avg merge
- 1d 18h
- Merged PRs (30d)
- 109
Description
Currently, incoming otel spans do not have the required metadata to differentiate between whether the message is being consumed actively or passively. The consumption style (active/passive) decides whether we should create a new transaction or a new span, according to our [messaging spec](https://github.com/elastic/apm/blob/master/specs/agents/tracing-instrumentation-messaging.md).
Because we cannot differentiate between the two, we have decided to always create new transactions when translating incoming otel spans with `type=CONSUMER`, making the assumption that the majority of message consumption will be passive.
There is a [long-standing specification issue](https://github.com/open-telemetry/opentelemetry-specification/issues/366) discussing adding the information to make this differentiation possible.
Commit adding an explanatory comment above the relevant code:
https://github.com/elastic/apm-server/pull/5334/commits/98d4f8503979831fce8709bb926050018df0b5f5
Contributor guide
Assessment
This issue has not been assessed yet.