-
Notifications
You must be signed in to change notification settings - Fork 2.8k
Question about tail_sampling result #28638
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Pinging code owners:
See Adding Labels via Comments if you do not have permissions to add labels yourself. |
I see #23648, Could / Would you do me a favor? |
Unfortunately, this is not possible with the current implementation: decisions are made at "decision_wait" and the decision isn't recorded |
doubt about point 2:
"the whole trace will be discarded except for the span that arrived late and was evaluated individually"
@jpkrohling thank you so much. |
You get the 50s and everything that comes within the decision wait for that. |
@jpkrohling sorry for disturb again.
But I get nothing, even I test many times. |
I tried the following and it seemed to work:
I changed the telemetrygen tool to generate the root span with a duration of 10s: diff --git a/cmd/telemetrygen/internal/traces/worker.go b/cmd/telemetrygen/internal/traces/worker.go
index cbcdc09ac1..6ae1c0abe8 100644
--- a/cmd/telemetrygen/internal/traces/worker.go
+++ b/cmd/telemetrygen/internal/traces/worker.go
@@ -35,7 +35,7 @@ type worker struct {
const (
fakeIP string = "1.2.3.4"
- fakeSpanDuration = 123 * time.Microsecond
+ fakeSpanDuration = 10 * time.Second
charactersPerMB = 1024 * 1024 // One character takes up one byte of space, so this number comes from the number of bytes in a megabyte
) I ran it with
Can you please check if the example is consistent with your use-case? |
Component(s)
processor/tailsampling
Describe the issue you're reporting
I have policies for tail_sampling for long-time request more than 10 seconds.
But the following phenomena are observed by myself:
for example 1 , the trace duration 31.37s, one span duration 31.22s. I think , the 31.22s span arrived after decision_wait, spans before 31.22s span will be discard?
the trace will be an incomplete trace or all of spans will be dropped ?
the span after31.22s span will be drop or collect?
But the
num_traces
will cache spans of trace in memory(whether it should drop or collect) for number of 5000.So If the spans were cached by the num_traces( number of 5000), span before 31.22s span will not be discard,
the trace will be an complete trace.
Is it right?
for example 2, the trace duration 51.37s(far apart of 30s), one span duration 51.22s
cause the ``num_traces``` cache are fulled, spans of the trace before the 51.22s will be dropped by cache.
so when the 51.22s span and other spans of the trace arrived, it should be collect, I will get a incomplete trace.
But I got nothing in jaeger-collector(elasticsearch)
So, How to understand about num_traces and decision_wait?
I want collect ALL OF request who duration more than 10 seconds.
the num_traces config will cache all spans of 5000 trace?
the config:
The text was updated successfully, but these errors were encountered: