# SLO: Latency # Targets: # - Query p99: < 200ms # - Version lookup p99: < 500ms # - Audit trail p99: < 100ms apiVersion: monitoring.coreos.com/v1 kind: PrometheusRule metadata: name: memory-latency namespace: monitoring spec: groups: - name: latency interval: 1m rules: # Query latency p99 - record: memory:query:latency:p99 expr: | histogram_quantile(0.99, sum(rate(http_request_duration_seconds_bucket{ service="memory", endpoint="/memory/query" }[5m])) by (le) ) # Query latency alert - alert: MemoryQueryLatencyHigh expr: | memory:query:latency:p99 > 0.2 for: 5m labels: severity: warning slo: latency annotations: summary: "Memory query p99 latency > 200ms" description: "Current: {{ $value | humanizeDuration }}" # Version lookup latency p99 - record: memory:version:latency:p99 expr: | histogram_quantile(0.99, sum(rate(http_request_duration_seconds_bucket{ service="memory", endpoint=~"/memory/entities/.*/versions.*" }[5m])) by (le) ) # Version lookup latency alert - alert: MemoryVersionLatencyHigh expr: | memory:version:latency:p99 > 0.5 for: 5m labels: severity: warning slo: latency annotations: summary: "Memory version lookup p99 latency > 500ms" description: "Current: {{ $value | humanizeDuration }}" # Audit trail latency p99 - record: memory:audit:latency:p99 expr: | histogram_quantile(0.99, sum(rate(http_request_duration_seconds_bucket{ service="memory", endpoint=~"/memory/audit.*" }[5m])) by (le) ) # Audit latency alert - alert: MemoryAuditLatencyHigh expr: | memory:audit:latency:p99 > 0.1 for: 5m labels: severity: info slo: latency annotations: summary: "Memory audit p99 latency > 100ms" description: "Current: {{ $value | humanizeDuration }}"