-
Notifications
You must be signed in to change notification settings - Fork 174
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Messaging: should receive spans be CLIENT? #1366
Comments
I think we have two options: Option 1: Keep
|
We discussed this in the meeting on 30-08-2024 and reached the consensus to use |
Given changes in open-telemetry/opentelemetry-specification#4178, this makes sense. With those changes, we don't see the consumer span as the end point of an asynchronous communication channel (from the point of view of application code), but as "processing of an operation initiated by a producer". This brings some limitations, but reduces ambiguity. |
Fixed in #1171 |
Receive spans describe pulling messages from a topic/queue.
E.g. AWS SQS example looks like
Kafka example
This operation fits into a vague
CLIENT
span definition - it's a logical client call to the remote service. It's initiated by the application itself, ends once the corresponding method return received messages and does not account for any message handling or processing time.But we currently specify that
receive
spans should beCONSUMER
-semantic-conventions/docs/messaging/messaging-spans.md
Line 213 in 3c16c80
Why it's
CONSUMER
?The
receive
operation is the only messaging span that instrumentation libraries can guarantee to be created on the consumer side when messages are pulled.If there is a higher level framework that is used to process messages (such as Spring or Apache Camel) it may create processing
SERVER
spans, otherwise they may be created by user applications.The
CONSUMER
kind on thereceive
spansSee https://github.com/open-telemetry/oteps/blob/main/text/trace/0220-messaging-semantic-conventions-span-structure.md#span-kind for the context
The text was updated successfully, but these errors were encountered: