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

Function Compile

pkg/traceql/engine.go:31–48  ·  view source on GitHub ↗

Compile parses and compiles a TraceQL query. Options specific to metrics queries are ignored.

(query string, opts ...CompileOption)

Source from the content-addressed store, hash-verified

29
30// Compile parses and compiles a TraceQL query. Options specific to metrics queries are ignored.
31func Compile(query string, opts ...CompileOption) (*RootExpr, SpansetFilterFunc, firstStageElement, secondStageElement, *FetchSpansRequest, error) {
32 expr, err := Parse(query, opts...)
33 if err != nil {
34 return nil, nil, nil, nil, nil, err
35 }
36
37 req := &FetchSpansRequest{
38 AllConditions: true,
39 }
40 expr.extractConditions(req)
41
42 err = expr.validate()
43 if err != nil {
44 return nil, nil, nil, nil, nil, err
45 }
46
47 return expr, expr.Pipeline.evaluate, expr.MetricsPipeline, expr.MetricsSecondStage, req, nil
48}
49
50// ExecuteSearch executes a search query. Options control AST optimization and hint behavior.
51func (e *Engine) ExecuteSearch(ctx context.Context, searchReq *tempopb.SearchRequest, fetcher SpansetFetcher, opts ...CompileOption) (*tempopb.SearchResponse, error) {

Callers 8

setTraceQLWeightMethod · 0.92
ExecuteSearchMethod · 0.85
TestExamplesInEngineFunction · 0.85

Calls 3

ParseFunction · 0.85
extractConditionsMethod · 0.65
validateMethod · 0.65

Tested by 4

TestExamplesInEngineFunction · 0.68