SLO instrumentation gap: Redis P95 latency metric not instrumented #246
Labels
No labels
blocked:children
blocked:commit-ready-failed
blocked:depends-231
blocked:depends-236
blocked:depends-237
blocked:depends-238
blocked:depends-239
blocked:gate-fetch
blocked:gate-fetch
blocked:gate-lint
blocked:gate-research
blocked:needs-attention
blocked:needs-decision
blocked:no-changes
blocked:no-procedure
blocked:preflight
blocked:verify-failed
bug
enhancement
feature-request
high-priority
in-progress
lint-cleanup
needs-decompose
needs-triage
ops-retry
ops-task
phase-5
quickfix
security/medium
self-building
triage-approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/mesh-seed#246
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Finding
The Redis SLO spec (
slo/specs/redis.yaml) defines a P95 latency SLO of <2s using the metricredis_command_duration_seconds. However, this metric is marked asun_instrumented: true— the Prometheus Redis exporter does not currently capture per-command latency distributions. The SLO currently uses the gateway request latency as a proxy metric.SLI spec location: slo/specs/redis.yaml, latency_p95 section
Metric: redis_command_duration_seconds (histogram, percentile: 0.95)
Current proxy: mesh_http_request_duration_seconds{job="mesh-gateway"}
Reproduction steps:
redis_command_duration_seconds— metric does not existExpected: A Prometheus Redis exporter (e.g., oliver006/redis_exporter) sidecar on the Redis StatefulSet that exposes
redis_command_duration_seconds_buckethistogram, enabling real Redis-native latency measurement.Actual: Redis latency SLO is measured via gateway HTTP request latency as proxy, which does not reflect actual Redis command performance.
Priority: Medium — Redis is tier-0 infrastructure (every service depends on it), but the proxy metric provides a reasonable approximation until instrumented.
Kanban card: t_067f4545 (SLO findings from mesh-seed SLO spec review)
Reopened by kilo-gsd-runner (kanban t_2f5c2666): the 2026-08-12 03:29 kilo-gsd run closed this issue after "All phases passed", but NO commit referencing #246 landed on origin/master (HEAD ==
cfaf330, #241 work) and the deliverable was not implemented — slo/specs/redis.yaml still has un_instrumented: true with the mesh_http_request_duration_seconds proxy; no redis_exporter sidecar or redis_command_duration_seconds_bucket histogram exists anywhere in the repo. The Verify gate also ran the wrong plan (mesh-seed-241 fallback, no #246 plan in .kilo/plans), so its PASS exercised unrelated migration checks. Closing was premature; issue is open again for a real fix.