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

Define a standard way to identify synthetics request #1230

Open
pmm-sumo opened this issue Apr 20, 2021 · 3 comments
Open

Define a standard way to identify synthetics request #1230

pmm-sumo opened this issue Apr 20, 2021 · 3 comments
Assignees
Labels
area:browser enhancement New feature or request

Comments

@pmm-sumo
Copy link
Contributor

pmm-sumo commented Apr 20, 2021

What are you trying to achieve?

Perhaps we could come with a standard way to define that a request is a synthetics call and might be handled accordingly by the service. E.g. special sampling rules could be applied there, etc. Preferably, such information could be kept in a context and stored as a span attribute.

Additionally, it could include ID of the request or even provide new trace ID, which could be used to link the trace and the synthetics request.

The information could be included using trace context or using a specially defined header

Additional context.

Related issue (trace context boundary handling): open-telemetry/opentelemetry-specification#1633

@reyang
Copy link
Member

reyang commented Apr 23, 2021

Discussed during the 04/23 triage meeting.
We think OpenTelemetry might want to cover this via semantic convention - if a server library / instrumentation library knows something is a synthetics request, we might want to emit a special attribute so users can act on it (e.g. filter it out).
We think OpenTelemetry might NOT want to define a protocol / context / baggage propagation to unify the synthetics scenarios.

@pmm-sumo
Copy link
Contributor Author

I think that semantic convention is only a part of the solution. I think that eventually this should be somehow automatically extracted from the request (headers, context, baggage or something else) by the client library.

@yurishkuro
Copy link
Member

It is always exceptionally hard to standardize on classification/taxonomy. What is a "synthetic" request? I can think of a number of different explanations, serving different use cases and potentially requiring different handling (e.g. blackbox testing, integration testing, load testing - all different). So simply having synthetic=true is not the answer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:browser enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

5 participants