Description
Jaeger-UI has "hidden" capabilities, namely a dependency graph view called "deep dependencies", which constructs the graph from paths extracted from traces . The corresponding server code was apparently never migrated out of Uber's internal code base. The proposal is to create the required endpoint in the jaeger-query
but return some dummy data, which can later be extended with proper support for storage. The dummy data should use some obvious identifiers like sample-service-A
, to make it obvious to the user that the data is not real. An alternative is to return just empty data but that is generally more confusing to the user.
This will need to be done with some reverse engineering of the UI code base because there is no other point of reference of what the data format should be. The main component in the UI is packages/jaeger-ui/src/components/DeepDependencies/*
. An example of a valid URL is /deep-dependencies?operation=the-operation&service=the-service
, but there are also other parameters like showOp=1
.
The code that generates the real data can be found in https://github.com/jaegertracing/jaeger-analytics-flink.
A successful validation will be
- running Jaeger, e.g.
go run ./cmd/jaeger
- navigating to
/deep-dependencies
in the UI to see the data
We should also add a check to the all-in-one e2e integration test that would query the same endpoint in the UI and get back some sensible result.
Activity