help wantedui
Description
Counterpart to UI ticket https://github.com/jaegertracing/jaeger-ui/issues/180
Currently, you can only search spans belonging to a one service. It would be nice if you could find traces belonging to multiple services. Then, you could search tags where error:true on all tags or search for traces which include multiple services.
Implementation plan:
- define a new Storage Capability property indicating if multi-service search is supported (default: not supported)
- change the UI to receive this flag via existing capabilities mechanism and allow / disallow not specifying service name in the search panel
- implement multi-service search in memory store (should be trivial)
- implement multi-service search in Elasticsearch / Opensearch (probably the easiest across real backends)
- try to implement it in Badger (difficulty: unknown)
- for Cassandra, introduce another flag to allow / disallow multi-service searches. The motivation is that with the current indexing scheme the only way to support multi-service search is by reading all service names and iterating across all of them (which I think what Zipkin implementation did). This might work for small deployments, but would be useless for large companies like Uber, so they would likely opt to disable it.
- Another possibility is to use secondary index in Cassandra. The current schema is not designed for that, so difficulty: unknown.