-
Notifications
You must be signed in to change notification settings - Fork 513
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
[Bug]: Inconsistent Data Displayed in Flamegraph #2483
Comments
Can you attach a trace that reproduces the bug? You can use anonymizer from the main repository to clean up sensitive data. |
Here's the trace in json format trace.zip |
@yurishkuro can i work on this issue ? |
@MAVRICK-1 sure, feel free, you don't have to ask |
here's my finding: Visual TraceThere's a pattern to how the span gets its data modified:
Interestingly, this bug doesn't happen when switching between other graphs/tables - only with Flamegraph. This led to the hypothesis that something from the flamegraph related logic kept updating the span's duration. InvestigationSo I logged the convertedProfile variable that holds the flamegraph data via a simple log in the TraceFlamegraph component. useEffect(() => {
console.log('convertedProfile:', convertedProfile)
}, [convertedProfile]) With each navigation to the Trace Flamegraph view page, the The objects are of Diff
updatedDiff A & B: {
flamebearer: {
levels: {
'7': {
'1': 59517368,
'2': 51352103,
'5': 115280680,
'6': 115276374
},
'8': { '4': 51352103, '8': 115276374 }
}
}
}
updatedDiff B & C: {
flamebearer: {
levels: {
'7': {
'1': 64921126,
'2': 56755861,
'5': 127414376,
'6': 127410070
},
'8': { '4': 56755861, '8': 127410070 }
}
}
} AnalysisWhat's worth noting is that the increase from the previous render to the current render is constant (2 different values based on the nested indicies). Increase by
|
this issue could be part of #2534 |
@Zen-cronic would you like to attempt a fix? It seems the easiest solution is to clone the trace before passing to a 3rd party library like pyroscope if it's already known to mutate the data. That would solve the back & forth problem, but will not solve the issue with pyroscope showing incorrect number (8s > .10m). For the latter, maybe it's a bug in the library that can be fixed by upgrading to the latest version (auto-upgrade keeps failing). Overall though, pyroscope is no longer supported and we should move off of it. |
What happened?
When analyzing the trace flamegraph, some data appears to be inaccurate. Specifically, when there are two spans at the same level in the flamegraph, switching to the "trace timeline" view and then returning to the flamegraph causes the data to change. The duration of the spans seems to increase upon revisiting the flamegraph.
Steps to reproduce
Expected behavior
Switching between views causes changes in the flamegraph display, showing inaccurate durations for the spans.
Relevant log output
No response
Screenshot
No response
Additional context
No response
Jaeger backend version
v1.53.0
SDK
Jaeger v1.53.0
Commit b620f0e
Build 2024-01-08T18:05:40Z
Jaeger UI v1.37.0
Pipeline
No response
Stogage backend
No response
Operating system
No response
Deployment model
Kubernetes
Deployment configs
No response
The text was updated successfully, but these errors were encountered: