Skip to content

Commit b9f10d9

Browse files
committed
feature: [vtselect] limit the lookbehind window for dependency API to 1m, and provide flag for configuration
1 parent d305081 commit b9f10d9

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

app/vtselect/traces/jaeger/jaeger.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -462,7 +462,7 @@ func parseJaegerDependenciesQueryParam(_ context.Context, r *http.Request) (*que
462462
// default params
463463
p := &query.DependenciesQueryParameters{
464464
EndTs: time.Now(),
465-
Lookback: time.Hour * 24,
465+
Lookback: time.Minute * 1,
466466
}
467467
q := r.URL.Query()
468468

app/vtselect/traces/query/query.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,10 @@ var (
3131
"This limit affects Jaeger's /api/services API.")
3232
traceMaxSpanNameList = flag.Uint64("search.traceMaxSpanNameList", 1000, "The maximum number of span name can return in a get span name request. "+
3333
"This limit affects Jaeger's /api/services/*/operations API.")
34-
traceMaxDependencyList = flag.Uint64("search.traceMaxDependencyList", 0, "The maximum number of dependency links can return in a get dependencies request. "+
35-
"This limit affects Jaeger's /api/dependencies API. Not limited by default.")
34+
traceMaxDependencyList = flag.Uint64("search.traceMaxDependencyList", 1000, "The maximum number of dependency links can return in a get dependencies request. "+
35+
"This limit affects Jaeger's /api/dependencies API.")
36+
traceMaxDependencyLookBehind = flag.Duration("search.traceMaxDependencyLookbehind", 1*time.Minute, "The maximum window for dependency analysis in real-time. "+
37+
"Increasing this duration will allow analysis across a longer time range, but it will increase the risk of performance degradation and higher resource usage.")
3638
)
3739

3840
var (
@@ -599,6 +601,9 @@ func GetDependencyList(ctx context.Context, cp *CommonParams, param *Dependencie
599601
qStrChildSpans,
600602
)
601603

604+
if *traceMaxDependencyLookBehind > 0 && param.Lookback > *traceMaxDependencyLookBehind {
605+
param.Lookback = *traceMaxDependencyLookBehind
606+
}
602607
startTime := param.EndTs.Add(-param.Lookback).UnixNano()
603608
endTime := param.EndTs.UnixNano()
604609

0 commit comments

Comments
 (0)