diff --git a/pkg/logql/metrics.go b/pkg/logql/metrics.go index a00ce77cd5..558600c542 100644 --- a/pkg/logql/metrics.go +++ b/pkg/logql/metrics.go @@ -116,6 +116,8 @@ func RecordRangeAndInstantQueryMetrics( "query_type", queryType, "range_type", rt, "length", p.End().Sub(p.Start()), + "start_delta", time.Since(p.Start()), + "end_delta", time.Since(p.End()), "step", p.Step(), "duration", logql_stats.ConvertSecondsToNanoseconds(stats.Summary.ExecTime), "status", status, diff --git a/pkg/logql/metrics_test.go b/pkg/logql/metrics_test.go index 99064b2d32..2e8d65177e 100644 --- a/pkg/logql/metrics_test.go +++ b/pkg/logql/metrics_test.go @@ -4,6 +4,7 @@ import ( "bytes" "context" "fmt" + "regexp" "testing" "time" @@ -82,11 +83,11 @@ func TestLogSlowQuery(t *testing.T) { TotalEntriesReturned: 10, }, }, logqlmodel.Streams{logproto.Stream{Entries: make([]logproto.Entry, 10)}}) - require.Equal(t, - fmt.Sprintf( - "level=info org_id=foo traceID=%s latency=slow query=\"{foo=\\\"bar\\\"} |= \\\"buzz\\\"\" query_type=filter range_type=range length=1h0m0s step=1m0s duration=25.25s status=200 limit=1000 returned_lines=10 throughput=100kB total_bytes=100kB total_entries=10 queue_time=2ns subqueries=0 cache_chunk_req=0 cache_chunk_hit=0 cache_chunk_bytes_stored=0 cache_chunk_bytes_fetched=0 cache_index_req=0 cache_index_hit=0 cache_result_req=0 cache_result_hit=0 source=logvolhist feature=beta\n", + require.Regexp(t, + regexp.MustCompile(fmt.Sprintf( + `level=info org_id=foo traceID=%s latency=slow query=".*" query_type=filter range_type=range length=1h0m0s start_delta=.* end_delta=.* step=1m0s duration=25.25s status=200 limit=1000 returned_lines=10 throughput=100kB total_bytes=100kB total_entries=10 queue_time=2ns subqueries=0 cache_chunk_req=0 cache_chunk_hit=0 cache_chunk_bytes_stored=0 cache_chunk_bytes_fetched=0 cache_index_req=0 cache_index_hit=0 cache_result_req=0 cache_result_hit=0 source=logvolhist feature=beta\n`, sp.Context().(jaeger.SpanContext).SpanID().String(), - ), + )), buf.String()) util_log.Logger = log.NewNopLogger() }