MCPcopy
hub / github.com/grafana/tempo / processLayer1AndLayer2

Function processLayer1AndLayer2

pkg/traceql/engine_metrics_test.go:2981–3004  ·  view source on GitHub ↗
(req *tempopb.QueryRangeRequest, in ...[]Span)

Source from the content-addressed store, hash-verified

2979}
2980
2981func processLayer1AndLayer2(req *tempopb.QueryRangeRequest, in ...[]Span) (SeriesSet, error) {
2982 e := NewEngine()
2983
2984 layer2, err := e.CompileMetricsQueryRangeNonRaw(req, AggregateModeSum)
2985 if err != nil {
2986 return nil, err
2987 }
2988
2989 for _, spanSet := range in {
2990 layer1, err := e.CompileMetricsQueryRange(req)
2991 if err != nil {
2992 return nil, err
2993 }
2994 for _, s := range spanSet {
2995 layer1.metricsPipeline.observe(s)
2996 }
2997 res := layer1.Results()
2998 // Pass layer 1 to layer 2
2999 // These are partial counts over time by bucket
3000 layer2.metricsPipeline.observeSeries(res.ToProto(req))
3001 }
3002
3003 return layer2.Results(), nil
3004}
3005
3006func processLayer3(req *tempopb.QueryRangeRequest, results ...SeriesSet) (SeriesSet, int, error) {
3007 e := NewEngine()

Callers 3

TestRateCutoffFunction · 0.85
runTraceQLMetricFunction · 0.85

Calls 7

NewEngineFunction · 0.85
ToProtoMethod · 0.80
observeMethod · 0.65
ResultsMethod · 0.65
observeSeriesMethod · 0.65

Tested by

no test coverage detected