-
Notifications
You must be signed in to change notification settings - Fork 893
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
Distinguish between physical and logical operations #110
Comments
My issue is that at the moment there exists no httplib instrumentation in Python, so by applying this sort of rule you would effectively remove all (EDIT: I just realized I assumed the physical spans to come from a different instrumentation) By the same argument I could also say that the httplib span should be marked as Internal as the only true physical operation is the socket write. IMO it would make sense to have a freeform field to specify which exact instrumentation created this span (with the possible values "python-requests" and "python-httplib" in @danielkhan's example). This should clear the confusion and also serve as a string to search for if the user has to dive into code to understand why a span was created in the first place |
You will be pleased to find out that this is covered in open-telemetry/oteps#16. 😃 Although I'm not sure if this can or should be used to solve that problem. |
Related: #51 |
Since we have merged in #263 I would like to close this for now, please reopen if you feel your concerns have not been addressed. |
Do I understand it correctly that http client instrumentation is supposed to create a single http-type span regardless of the amount of redirects (specifically referring to the OP example) If I really want to represent the raw network operations with parsed HTTP data, should I just make up my own component identifier and reuse the existing |
I don't think so @untitaker. I see this as a question about how to set |
right @jmacd I think we're roughly on the same page wrt what the question is. It's just unclear to me what the answer is. |
Bumping it to a future milestone. |
Do we still believe this is a must-have for GA? It is a guidance to instrumentation. If changed after GA it will not break any API or end-user code but may result in different trace composition. I think trace composition is not something we should consider part of our stability guarantees, hence I suggest we don't attempt to finalize such behavior before GA. |
) * Update CONTRIBUTING.md with a proper Splunk CLA link * Update specification/templates/CONTRIBUTING.md Co-authored-by: Robert Pająk <[email protected]> * Update specification/templates/CONTRIBUTING.md Co-authored-by: Robert Pająk <[email protected]> * Apply suggestions from code review Co-authored-by: Tyler Yahn <[email protected]> Co-authored-by: Robert Pająk <[email protected]> Co-authored-by: Tyler Yahn <[email protected]>
* zPages proposal * renamed file to the PR number * linter issues * linter issues * added some principles for zPages development * fixes after Reiley review
* zPages proposal * renamed file to the PR number * linter issues * linter issues * added some principles for zPages development * fixes after Reiley review
It'll be helpful to clarify whether this is a physical operation or logical one. My suggestion: only mark
SpanKind = Client
for the actual physical operation, for logical operation useSpanKind = Internal
.For example, the user would have
requests.get('https://www.wikipedia.org/wiki/Rabbit')
, which results in two physical HTTP requests - one 301 redirection, another 200 okay. The expected result is:Please refer to census-instrumentation/opencensus-python#627 for more background.
Originally posted by @reyang in #82
The text was updated successfully, but these errors were encountered: