elastic / elastic/apm-server

Differentiate between active/passive message consumption when translating otel spans

Open
#5,373 2 comments 0 reactions 0 assignees View on GitHub
enhancement OpenTelemetry
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.