-
Notifications
You must be signed in to change notification settings - Fork 95
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
Refinery does not properly handle empty parentId strings when determining root spans #1234
Comments
Thanks for reporting the issue @julialamenza. Can you describe the situation where you're seeing a span with an empty |
Sometimes we are sending traces with trace.parent_id as a blank string and these appear to be "paused" in Refinery until the TraceTimeout elapses (as if it considered a blank string as a valid span_id). |
Are you using an OpenTelemetry library? If so, can you tell us which one? We can look into enabling this behavior, but it's counter to the OpenTelemetry specification. |
No we dont |
@julialamenza we've merged a fix and expect it to go out with our next release, likely in the next week or two. |
The Refinery considers a span to not be a root if the parentId is a string, but it doesn't check if the string is empty. This can lead to incorrect identification of root spans.
https://github.com/honeycombio/refinery/blob/main/collect/collect.go#L604
lso this will cause delays on the span being transmitted, because Refinery will wait for the parent span to show up, for TraceTimeout (60s by default). And in this case it never will, so any of these real rootspans are actually delayed by 60s for sending to Honeycomb.
Steps to Reproduce:
Expected Behavior:
Spans with an empty parentId string should be considered root spans.
The text was updated successfully, but these errors were encountered: