fix(telemetry): preserve built-in meter discovery#452
Conversation
yordis
commented
Jul 20, 2026
- Built-in database telemetry must remain discoverable when operators configure additional meter sources.
- Canonical instrumentation metadata prevents scope drift without changing emitted metrics.
- Instrumentation version metadata must remain self-contained across published layouts.
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
PR SummaryLow Risk Overview A new Unit tests cover Reviewed by Cursor Bugbot for commit ce46a91. Bugbot is set up for automated code reviews on this repo. Configure here. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (9)
WalkthroughCentralizes built-in telemetry meter names and instrumentation scope version handling, updates metrics registration to include built-in meters automatically, and adds tests for naming, version parsing, ordering, deduplication, and validation. ChangesTelemetry instrumentation
Estimated code review effort: 3 (Moderate) | ~20 minutes Sequence Diagram(s)sequenceDiagram
participant metricsconfig.json
participant ConfigureMetrics
participant TelemetryMeterInstrumentation
participant MeterProviderBuilder
metricsconfig.json->>ConfigureMetrics: Meters array
ConfigureMetrics->>TelemetryMeterInstrumentation: GetNames(additional meter names)
TelemetryMeterInstrumentation-->>ConfigureMetrics: Built-in and additional names
ConfigureMetrics->>MeterProviderBuilder: AddMeter(names)
Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 Biome (2.5.3)src/EventStore.ClusterNode/metricsconfig.jsonFile contains syntax errors that prevent linting: Line 2: Expected a property but instead found '// must be 0, 1, 5, 10 or a multiple of 15'.; Line 3: End of file expected; Line 3: End of file expected; Line 3: End of file expected; Line 3: End of file expected; Line 7: End of file expected; Line 7: End of file expected; Line 7: End of file expected; Line 9: End of file expected; Line 11: End of file expected; Line 11: End of file expected; Line 11: End of file expected; Line 11: End of file expected; Line 13: End of file expected; Line 13: End of file expected; Line 13: End of file expected; Line 17: End of file expected; Line 19: End of file expected; Line 19: End of file expected; Line 19: End of file expected; Line 19: End of file expected; Line 21: End of file expected; Line 21: End of file expected; Line 21: End of file expected; Line 21: End of file expected; Line 23: End of file expected; Line 23: End of file expected; Line 23: End of file expected; Line 23: End of file expecte ... [truncated 1326 characters] ... expected; Line 114: End of file expected; Line 116: End of file expected; Line 116: End of file expected; Line 119: Expected a property but instead found '// this is the most expensive metric, creating a histogram for each'.; Line 116: End of file expected; Line 119: End of file expected; Line 121: End of file expected; Line 121: End of file expected; Line 121: End of file expected; Line 122: End of file expected; Line 124: End of file expected; Line 124: End of file expected; Line 124: End of file expected; Line 150: End of file expected; Line 154: End of file expected; Line 154: End of file expected; Line 154: End of file expected; Line 203: End of file expected; Line 205: End of file expected; Line 205: End of file expected; Line 205: End of file expected; Line 279: End of file expected Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |