-
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
[feature] Visualize Critical Path of a trace #1582
Conversation
We got trace data to implement critical path for a trace and we added TraceCriticalPath option Signed-off-by: GLVS Kiriti <[email protected]>
This function finds child spans of each span Signed-off-by: GLVS Kiriti <[email protected]>
Instead we critical path algotihm runs on rendering TracePage and then we can visualize critical path Signed-off-by: GLVS Kiriti <[email protected]>
Here in criticalPath array all critical Path sections of each span are added to it Signed-off-by: GLVS Kiriti <[email protected]>
As it is new file license should be added Signed-off-by: GLVS Kiriti <[email protected]>
Signed-off-by: GLVS Kiriti <[email protected]>
Signed-off-by: GLVS Kiriti <[email protected]>
…race Signed-off-by: GLVS Kiriti <[email protected]>
Signed-off-by: GLVS Kiriti <[email protected]>
Signed-off-by: GLVS Kiriti <[email protected]>
Signed-off-by: GLVS Kiriti <[email protected]>
Signed-off-by: GLVS Kiriti <[email protected]>
Test passed successfully Signed-off-by: GLVS Kiriti <[email protected]>
And also structured all required data for tests in test1 test2 js files only Signed-off-by: GLVS Kiriti <[email protected]>
This function turncates or drops the child spans if they start/end (overflow) before/after parent span Signed-off-by: GLVS Kiriti <[email protected]>
In this case child span is entirely outside the parent span so it is dropped Signed-off-by: GLVS Kiriti <[email protected]>
Signed-off-by: GLVS Kiriti <[email protected]>
Signed-off-by: GLVS Kiriti <[email protected]>
Now it also drops the child spans of already dropped spans Signed-off-by: GLVS Kiriti <[email protected]>
Signed-off-by: GLVS Kiriti <[email protected]>
Signed-off-by: GLVS Kiriti <[email protected]>
Signed-off-by: GLVS Kiriti <[email protected]>
Signed-off-by: GLVS Kiriti <[email protected]>
Now only everyTime the input changes critical path algorithm is computed Signed-off-by: GLVS Kiriti <[email protected]>
Signed-off-by: GLVS Kiriti <[email protected]>
packages/jaeger-ui/src/components/TracePage/CriticalPath/utils/sanitizeOverFlowingChildren.tsx
Outdated
Show resolved
Hide resolved
I took a look at the PR, and while we are addressing the changes, let's gate this feature(Critical Path Algorithm Component) using a config value - https://github.com/jaegertracing/jaeger-ui/blob/fabd2e756113b8bfdc2103c657ee2915b35fa56d/packages/jaeger-ui/src/constants/default-config.tsx We can disable this feature to start with, and add the option to enable this, if people want to try this feature. We can merge this PR while keeping this feature gated, and add some follow up items to improve the space complexity of this algorithm. I can suggest more review items, but I think this would make this PR more lengthier than I would like. As we have comprehensive unit-tests, we can iterate on improving the space complexities of the individual functions without breaking the logical behaviour(one of the perks of having unit-test :)) |
packages/jaeger-ui/src/components/TracePage/CriticalPath/index.test.js
Outdated
Show resolved
Hide resolved
Signed-off-by: GLVS Kiriti <[email protected]>
Signed-off-by: GLVS Kiriti <[email protected]>
Signed-off-by: GLVS Kiriti <[email protected]>
Signed-off-by: GLVS Kiriti <[email protected]>
Signed-off-by: GLVS Kiriti <[email protected]>
Signed-off-by: GLVS Kiriti <[email protected]>
Signed-off-by: Yuri Shkuro <[email protected]>
Signed-off-by: GLVSKiriti <[email protected]>
Signed-off-by: GLVS Kiriti <[email protected]>
is this a follows-from span kind? in the first s/s it was after the parent span so not on the critical path of THAT span, and CP is defined recursively starting from the root span, at least in the current version. |
btw, glad to see you're trying it out, bug reports are very welcome (maybe start another ticket). |
## Which problem is this PR solving? - Related to #1582 ## Description of the changes - Added Tooltip which is visible on hovering the critical path @yurishkuro --------- Signed-off-by: GLVS Kiriti <[email protected]> Signed-off-by: GLVSKiriti <[email protected]> Co-authored-by: Yuri Shkuro <[email protected]>
This PR is to add support(UI) for critical path analysis to Jaeger UI.
Resolves #1288
Respective Algorithm PR is #1532
Related bug fixes through PRs #1780 #1785 #1871
@yurishkuro @yashrsharma44