Compare commits

...

1 Commits

Author SHA1 Message Date
Cursor Agent
036edf8e46 Fix query comment keys and duration bucket units 2026-03-04 19:44:49 +00:00
5 changed files with 13 additions and 13 deletions

View File

@@ -3,10 +3,10 @@ package instrumentation
import "time"
// DurationBucket returns a human-readable bucket label for the duration between fromMS and toMS.
// fromMS and toMS are Unix timestamps (same unit as used by time.Unix).
// fromMS and toMS are Unix timestamps in milliseconds.
// Returns labels like "<1h", "<6h", "<24h", "<3D", "<1W", "<2W", "<1M", or ">=1M".
func DurationBucket(fromMS, toMS uint64) string {
diff := time.Unix(0, int64(toMS)).Sub(time.Unix(0, int64(fromMS)))
diff := time.UnixMilli(int64(toMS)).Sub(time.UnixMilli(int64(fromMS)))
buckets := []struct {
d time.Duration

View File

@@ -141,9 +141,9 @@ func (client *client) queryToClickhouseQuery(_ context.Context, query *prompb.Qu
func (client *client) getFingerprintsFromClickhouseQuery(ctx context.Context, query string, args []any) (map[uint64][]prompb.Label, error) {
ctx = ctxtypes.AddCommentsToContext(ctx, map[string]string{
"signal": telemetrytypes.SignalMetrics.StringValue(),
"module_name": "clickhouse-prometheus",
"function_name": "getFingerprintsFromClickhouseQuery",
instrumentation.TelemetrySignal: telemetrytypes.SignalMetrics.StringValue(),
instrumentation.CodeNamespace: "clickhouse-prometheus",
instrumentation.CodeFunctionName: "getFingerprintsFromClickhouseQuery",
})
rows, err := client.telemetryStore.ClickhouseDB().Query(ctx, query, args...)
if err != nil {
@@ -258,9 +258,9 @@ func (client *client) querySamples(ctx context.Context, start int64, end int64,
func (client *client) queryRaw(ctx context.Context, query string, ts int64) (*prompb.QueryResult, error) {
ctx = ctxtypes.AddCommentsToContext(ctx, map[string]string{
"signal": telemetrytypes.SignalMetrics.StringValue(),
"module_name": "clickhouse-prometheus",
"function_name": "queryRaw",
instrumentation.TelemetrySignal: telemetrytypes.SignalMetrics.StringValue(),
instrumentation.CodeNamespace: "clickhouse-prometheus",
instrumentation.CodeFunctionName: "queryRaw",
})
rows, err := client.telemetryStore.ClickhouseDB().Query(ctx, query)

View File

@@ -215,8 +215,8 @@ func (q *builderQuery[T]) Execute(ctx context.Context) (*qbtypes.Result, error)
// executeWithContext executes the query with query window and step context for partial value detection
func (q *builderQuery[T]) executeWithContext(ctx context.Context, query string, args []any) (*qbtypes.Result, error) {
ctx = ctxtypes.AddCommentsToContext(ctx, map[string]string{
"signal": q.spec.Signal.StringValue(),
instrumentation.QueryDuration: instrumentation.DurationBucket(q.fromMS, q.toMS),
instrumentation.TelemetrySignal: q.spec.Signal.StringValue(),
instrumentation.QueryDuration: instrumentation.DurationBucket(q.fromMS, q.toMS),
})
totalRows := uint64(0)

View File

@@ -101,7 +101,7 @@ func (q *chSQLQuery) renderVars(query string, vars map[string]qbtypes.VariableIt
func (q *chSQLQuery) Execute(ctx context.Context) (*qbtypes.Result, error) {
ctx = ctxtypes.AddCommentsToContext(ctx, map[string]string{
"module_name": "clickhouse-query",
instrumentation.CodeNamespace: "clickhouse-query",
instrumentation.QueryDuration: instrumentation.DurationBucket(q.fromMS, q.toMS),
})

View File

@@ -190,8 +190,8 @@ func (q *promqlQuery) renderVars(query string, vars map[string]qbv5.VariableItem
func (q *promqlQuery) Execute(ctx context.Context) (*qbv5.Result, error) {
comment := ctxtypes.CommentFromContext(ctx)
comment.Set("signal", telemetrytypes.SignalMetrics.StringValue())
comment.Set("duration", instrumentation.DurationBucket(q.tr.From, q.tr.To))
comment.Set(instrumentation.TelemetrySignal, telemetrytypes.SignalMetrics.StringValue())
comment.Set(instrumentation.QueryDuration, instrumentation.DurationBucket(q.tr.From, q.tr.To))
ctx = ctxtypes.NewContextWithComment(ctx, comment)
start := int64(querybuilder.ToNanoSecs(q.tr.From))