Problem
normalizeHttpPath in containers/l7.go handles UUIDs, integers, and hex IDs, but misses:
- Base64 tokens:
/auth/callback/eyJhbGciOiJSUzI1NiIs...
- Date-based paths:
/logs/2026-03-07, /api/v1/metrics/2026/03
- JWT/session tokens:
/verify/abc123def456.xyz789...
- Hash-like slugs:
/builds/a1b2c3d4e5f6 (6-char hex not caught by 8+ hex rule)
- Email addresses in paths:
/users/user@example.com/profile
Each unique path creates a new Prometheus time series, leading to cardinality explosion.
Fix
Add normalization patterns for:
- Base64-encoded segments (contains
= padding or matches base64 charset with length > 20)
- Date patterns (
YYYY-MM-DD, YYYY/MM/DD)
- Dot-separated tokens (JWT-like
xxx.yyy.zzz)
- Configurable custom patterns via
--http-path-normalization-rules (already exists as flag, needs implementation review)
Impact
Medium — reduces Prometheus cardinality on nodes with diverse HTTP traffic.
Problem
normalizeHttpPathincontainers/l7.gohandles UUIDs, integers, and hex IDs, but misses:/auth/callback/eyJhbGciOiJSUzI1NiIs.../logs/2026-03-07,/api/v1/metrics/2026/03/verify/abc123def456.xyz789.../builds/a1b2c3d4e5f6(6-char hex not caught by 8+ hex rule)/users/user@example.com/profileEach unique path creates a new Prometheus time series, leading to cardinality explosion.
Fix
Add normalization patterns for:
=padding or matches base64 charset with length > 20)YYYY-MM-DD,YYYY/MM/DD)xxx.yyy.zzz)--http-path-normalization-rules(already exists as flag, needs implementation review)Impact
Medium — reduces Prometheus cardinality on nodes with diverse HTTP traffic.