jaegertracing / jaeger

CNCF Jaeger, a Distributed Tracing Platform
https://www.jaegertracing.io/
Apache License 2.0
19.89k stars 2.37k forks source link

Find Traces Matching Multiple Services #423

Open frankgreco opened 6 years ago

frankgreco commented 6 years ago

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:

vprithvi commented 6 years ago

Related: https://github.com/jaegertracing/jaeger/issues/238

yurishkuro commented 1 year ago

Currently, service name is required because of the limitation of Cassandra implementation, where we do not have general indexing and instead build indices manually on top of kv-store, such that service name is always a prefix of the lookup key. There is a way to work around that by first querying all service names and then executing a search query against each of them. Such approach will very wildly inefficient for systems with large number of services.

On the other hand, dropping the requirement for service name in Elasticsearch is trivial, it has no special role. I am not sure if Badger implementation has a similar limitation as Cassandra.

An alternative approach that we discussed in some other tickets is to allow the UI to understand different capabilities of the storage backend and present slightly different search panels, like not requiring service name for ES, but requiring it for Cassandra.

VuiDJi commented 1 year ago

Have you got some news? This would be a very useful feature

mempirate commented 1 year ago

This would be very useful for our use cases as well!

alex-kormukhin commented 1 year ago

This feature is stopper for us for migration from zipkin (see also).

AndrWeisR commented 1 year ago

Without this feature, how do you track a request that is handled by several services? You should be able to search by tag, such as a transaction reference, and have that tag found in every service that the transaction has been through.

yurishkuro commented 1 year ago

@AndrWeisR if you know a specific tag you may also know which service writes it to the trace, and you search for that service.

yurishkuro commented 1 month ago

I updated the description with an action plan, if someone wants to contribute the implementation.