-
Notifications
You must be signed in to change notification settings - Fork 231
Provide a way to sample entire trace which contains span with tag "error=true" #465
Comments
This is mentioned on the roadmap, item "Post-Trace Sampling" (we called it also "tail-based sampling", IIRC). This is not really something for the Java client, but rather, something for the Agent/Collector. In fact, it looks like there's an issue for it already: jaegertracing/jaeger#425 . We would love to get you involved in the discussion! I'm therefore closing this issue here. Feel free to reopen if you think this is relevant for the client as well. |
There is a simpler solution that I think is being asked here where we only capture spans within the service once an error happens. We could also push the sampling decision back up to the callers, but OpenTracing doesn't really provide backwards propagation API. For the same-service spans, it would require rewriting how the reporter batches the spans. Right now it keeps just list and flushes it when the desired size is reached. It would have to change to keeping spans per-trace and only flushing them when the top-level span in the service is finished and the sampling decision has been overwritten to YES (e.g. by error=true tag). Btw, from our experience at Uber, error=true is not a very reliable indicator, i.e. we have plenty of traces that have this tag, but the traces otherwise are successful, due to retries, etc. So implementing this on-error sampling might cause unexpected inflow of traces to the backend. |
Agreed totally! this is related to java client not Agent/Collector. |
Sorry, that indeed makes sense. I'm reopening this issue. |
@jpkrohling -- Is anyone working on this issue? If not, I may be interested in doing the work. |
afaik nobody is working on it. If you want to take a crack at it, I would recommend first posting a proposed design here. |
This seems like a pretty useful thing. Any opinions on what to do? |
Requirement - what kind of business use case are you trying to solve?
I wish jaeger can provide a way to sample entire trace (or at lease all spans in the same service) which contains span with tag "error=true".
We have 2 requirements:
Problem - what in Jaeger blocks you from solving the requirement?
Currently, If I want a trace be sampled definitely, It has three ways:
The text was updated successfully, but these errors were encountered: