Skip to content

[Feature]: Visualize Critical Path of a trace #1288

Closed
@ramumanam

Description

@ramumanam

This is filed as an intern project for the LFX Mentorship. Please refer to jaegertracing/jaeger#4453. Apply here.

Requirement

Have an ability to view critical path for a given trace.

Problem

A call graph can have multiple spans, but not all spans really contribute to the latency computation. Critical path is the longest chain of dependent tasks in a microservice dependency graph( i.e.,specific sequence of spans from the root to a leaf) . Reducing the critical path length is necessary to reduce the end-to-end latency of a request. Hence, a latency optimization effort benefits by prioritizing the services that are on the critical path. A tool to help identify the critical path of any trace I choose to investigate is beneficial for developers.

Tools like "Lightstep observability" are already having this feature. This effort will be a feature parity for jaeger with other tools.

Proposal

Jaeger already supports a bunch of different analysis views of a trace. It would be useful if Jaeger UI would allow a developer to view the critical path of the trace in the same context.

We propose adding a new option under that dropdown labeled “Critical path”. A critical path is a specific sequence of spans from the root to a leaf. The algorithm to compute the critical path can be run in real-time even in the browser. Once the critical path is computed, it needs to be presented to the developer.

The critical path could be rendered in either (or both) of the formats - tabular and flamegraph.
For efficiency, we may want to re-use the tabular and flame graph trace analysis views already available in Jaeger.

Open questions

No response

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions