2.7 KiB
2.7 KiB
DORA Metrics
Module
Telemetry
Status
IMPLEMENTED
Description
DORA (DevOps Research and Assessment) metrics implementation tracking the four key metrics: Deployment Frequency, Lead Time for Changes, Change Failure Rate, and Mean Time to Recovery (MTTR), with SLO breach tracking and performance classification.
Implementation Details
- DoraMetrics:
src/Telemetry/StellaOps.Telemetry.Core/StellaOps.Telemetry.Core/DoraMetrics.cs-- OpenTelemetry meterStellaOps.DORAwith counters for deployments, successes, failures, incidents, resolutions, and histograms for deployment duration, lead time, and MTTR; includes SLO breach counter and performance level classification (Elite/High/Medium/Low/Unknown) - DoraMetricsModels:
src/Telemetry/StellaOps.Telemetry.Core/StellaOps.Telemetry.Core/DoraMetricsModels.cs-- DoraMetricsOptions, DoraPerformanceLevel enum, DoraDeploymentOutcome enum, DoraIncidentSeverity enum, DoraDeploymentEvent record, DoraIncidentEvent record, DoraSummary record - IDoraMetricsService:
src/Telemetry/StellaOps.Telemetry.Core/StellaOps.Telemetry.Core/IDoraMetricsService.cs-- service interface for recording deployments, incidents, resolving incidents, getting summaries, and querying events - InMemoryDoraMetricsService:
src/Telemetry/StellaOps.Telemetry.Core/StellaOps.Telemetry.Core/InMemoryDoraMetricsService.cs-- in-memory implementation with per-tenant isolation, median lead time calculation, CFR computation, MTTR aggregation, and environment-level filtering - DI Registration:
src/Telemetry/StellaOps.Telemetry.Core/StellaOps.Telemetry.Core/TelemetryServiceCollectionExtensions.cs--AddDoraMetrics()extension method registering DoraMetrics, IDoraMetricsService, and IOutcomeAnalyticsService - Tests:
src/Telemetry/StellaOps.Telemetry.Core/StellaOps.Telemetry.Core.Tests/DoraMetricsTests.cs(11 test cases),DoraMetricsServiceTests.cs(11 test cases) - Source: Feature matrix scan + QA verification
Verified Behaviors
- Deployment recording emits dora_deployments_total, dora_deployment_success_total, dora_deployment_duration_seconds, dora_lead_time_hours
- Rollback/hotfix/failed outcomes emit dora_deployment_failure_total
- Lead time SLO breach emits dora_slo_breach_total with metric=lead_time tag
- MTTR SLO breach emits dora_slo_breach_total with metric=mttr tag
- Incident tracking with start/resolution lifecycle
- Performance classification across all four DORA levels
- Summary calculation with deployment frequency, CFR, median lead time, MTTR
- Per-tenant and per-environment isolation
QA Notes
- Bug fix applied: DoraMetricsTests._measurements changed from List<> to ConcurrentBag<> to fix race condition in MeterListener callbacks