Skip to content
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

Amazon SQS: How to Represent HTTP Span? #2022

Closed
astorm opened this issue Mar 29, 2021 · 2 comments
Closed

Amazon SQS: How to Represent HTTP Span? #2022

astorm opened this issue Mar 29, 2021 · 2 comments
Labels
agent-nodejs Make available for APM Agents project planning.

Comments

@astorm
Copy link
Contributor

astorm commented Mar 29, 2021

The Amazon SQS APIs are queue operations, but the API communication protocol is REST/HTTPS based. This means a call to an SQS method (receiveMessage, sendMessage, etc.) creates a span for the message send, but also a span for the HTTPS request.

It's unclear how this should be represented in the span tree. Do users want to see the spans for HTTP messages AND the SQS API calls, or do they want to see a single span for the entire operation. This is similar to the issue we face with the @elastic/elasticsearch instrumentation in #2000

We need to decide on "hide the HTTP span, show the HTTP span, or 'it depends on the specific message'", and whether there should be a generic way of handling this increasingly common use case for APIs.

@github-actions github-actions bot added the agent-nodejs Make available for APM Agents project planning. label Mar 29, 2021
@trentm
Copy link
Member

trentm commented Mar 31, 2021

This was discussed on the APM Agents call yesterday. The pretty strong consensus seemed to be to not emit HTTP spans (or whatever other transport span) underneath higher-level instrumentation spans: e.g. no HTTP span underneath an SQS span, no HTTP span underneath an Elasticsearch span.

Also this note from eyal:

Still, as @axw mentioned, there may be value in keeping lower-span-data (like HTTP status code or URL) when you have such, and the way we chose doing that for ES client spans is by populating context.http fields, even though the span type is not HTTP.

@trentm
Copy link
Member

trentm commented Jan 19, 2023

This was resolve in #2645

@trentm trentm closed this as completed Jan 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
agent-nodejs Make available for APM Agents project planning.
Projects
None yet
Development

No branches or pull requests

2 participants