Skip to content

Commit 195e99f

Browse files
authored
add ruler requestId to context before createing logger for query stats so we have it in query stats logs (#7112)
Signed-off-by: Erlan Zholdubai uulu <erlanz@amazon.com>
1 parent 475691f commit 195e99f

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

pkg/ruler/compat.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,9 @@ func EngineQueryFunc(engine promql.QueryEngine, frontendClient *frontendClient,
187187
}
188188

189189
// Add request ID to the context so that it can be used in logs and metrics for split queries.
190-
ctx = requestmeta.ContextWithRequestId(ctx, uuid.NewString())
190+
if requestmeta.RequestIdFromContext(ctx) == "" {
191+
ctx = requestmeta.ContextWithRequestId(ctx, uuid.NewString())
192+
}
191193
ctx = requestmeta.ContextWithRequestSource(ctx, requestmeta.SourceRuler)
192194

193195
if frontendClient != nil {
@@ -266,6 +268,9 @@ func RecordAndReportRuleQueryMetrics(qf rules.QueryFunc, userID string, evalMetr
266268
// If we've been passed a counter we want to record the wall time spent executing this request.
267269
timer := prometheus.NewTimer(nil)
268270

271+
// Add request ID before logging so that it can be used in query stats logs.
272+
ctx = requestmeta.ContextWithRequestId(ctx, uuid.NewString())
273+
269274
defer func() {
270275
querySeconds := timer.ObserveDuration().Seconds()
271276
queryTime.Add(querySeconds)

0 commit comments

Comments
 (0)