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

Confirm that HTTP instrumentations can provide sampling-relevant attributes at creation time #2011

Closed
lmolkova opened this issue Oct 12, 2021 · 3 comments
Assignees
Labels
area:sampling Related to trace sampling area:semantic-conventions Related to semantic conventions spec:trace Related to the specification/trace directory

Comments

@lmolkova
Copy link
Contributor

lmolkova commented Oct 12, 2021

In #1916 we require (MUST) sampling relevant attributes to be provided at span creation time:

https://github.com/open-telemetry/opentelemetry-specification/blame/f34abb07ee8b8e102ab4693d9d6cef1aad95fb2b/specification/trace/semantic_conventions/http.md#L94

We do it under assumptions:

If there are more than a few (1-2?) instrumentations where these assumptions are wrong, we will change MUST to SHOULD for sampling-relevant attributes.

This issue is a blocker for HTTP semantic conventions stability.

@lmolkova lmolkova added the spec:trace Related to the specification/trace directory label Oct 12, 2021
@carlosalberto carlosalberto added area:sampling Related to trace sampling area:semantic-conventions Related to semantic conventions labels Oct 13, 2021
@jmacd
Copy link
Contributor

jmacd commented Oct 13, 2021

Assuming we can identify implementations that find the required attributes infeasible or inefficient, I think there is still a path forward as long as we can find an alternative in each language that is reasonably efficient.

It comes down to this: Reasonably efficient is necessary and feasible is sufficient. We only have to change MUST to SHOULD if there is no reasonably efficient implementation, so I think this boils down to #620.

In an optimistic sort of way, I think we should just solve #620 quickly. Lazy-evaluation is a widespread technique practically everywhere, and all we are doing is loosening the specification to allow languages to do anything natural to defer the cost of attributes so that it depends on whether the sampler cares or not.

@bogdandrutu
Copy link
Member

Per the SIG meeting discussion, assign this to @lmolkova

@bogdandrutu bogdandrutu assigned lmolkova and unassigned bogdandrutu Oct 15, 2021
@lmolkova
Copy link
Contributor Author

This can be closed, we changed MUST to SHOULD in open-telemetry/semantic-conventions#422

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:sampling Related to trace sampling area:semantic-conventions Related to semantic conventions spec:trace Related to the specification/trace directory
Projects
None yet
Development

No branches or pull requests

4 participants