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

"Missing Trace Root" on v0.29 #884

Closed
Cyberax opened this issue Sep 12, 2024 · 7 comments · Fixed by #888
Closed

"Missing Trace Root" on v0.29 #884

Cyberax opened this issue Sep 12, 2024 · 7 comments · Fixed by #888
Assignees

Comments

@Cyberax
Copy link

Cyberax commented Sep 12, 2024

Summary

Upgrade to v0.29 results in "Missing Trace Root" traces. Downgrade to 0.28.1 resolves the issue.

Steps To Reproduce

Use the Go OTEL sample

	sp := sentryotel.NewSentrySpanProcessor()
	tracerProvider := sdktrace.NewTracerProvider(
		sdktrace.WithResource(serviceResource),
		sdktrace.WithSpanProcessor(sp),
	)

Expected Behavior

The trace root should be correct.

Screenshots

Image

SDK

  • sentry-go version: v0.29
  • Go version: 1.22
  • Using Go Modules? yes

Sentry

  • Using hosted Sentry in sentry.io? yes
@cleptric
Copy link
Member

We'll take a look.

@cleptric
Copy link
Member

This is currently to be expected. The reason is adding support to something we call "Tracing without performance", a way to connect errors from different services together without the need to emit traces. As the payload of each event now always contains a parent_span_id, the product now displays "Missing Trace Root". We'll make the changes in Sentry itself. I'll get back here once I have a rough timeline.

@radazen
Copy link

radazen commented Sep 16, 2024

@cleptric I may be wrong, but it feels like there's still a bug here. Note the part of the original screenshot where two different spans in the same trace have the same Span ID (2e28b774). This is happening to me as well! My top-level transaction span is what I'd expect to see as the Trace Root, and if I record a trace with a single span and no children, that's exactly what happens: I see a proper trace root, not a Missing Trace Root.

But if I record any child spans, the root transaction span ends up having its original Span ID overwritten by the span ID of one of the child spans, and I end up with two spans with the same Span ID and a Missing Trace Root.

@cleptric
Copy link
Member

Yes, I was able to reproduce this and will look into a fix. Thanks @radazen for calling this out!

@bububa
Copy link

bububa commented Sep 19, 2024

Same problem, really annoying on self host

@getsantry getsantry bot moved this to Waiting for: Product Owner in GitHub Issues with 👀 3 Sep 19, 2024
@cleptric cleptric assigned ribice and unassigned cleptric Sep 20, 2024
@ribice
Copy link
Collaborator

ribice commented Sep 23, 2024

@Cyberax / @radazen I was able to reproduce this as well using the tracing without performance, but downgrading to 0.28.1 lacks this feature, so I have to pull some commits in.

Could you share a larger snippet that can reproduce this issue (and works with previous sentry version)?

@cleptric
Copy link
Member

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

5 participants