save checkpoint
This commit is contained in:
32
docs/features/checked/telemetry/dora-metrics.md
Normal file
32
docs/features/checked/telemetry/dora-metrics.md
Normal file
@@ -0,0 +1,32 @@
|
||||
# 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 meter `StellaOps.DORA` with 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
|
||||
Reference in New Issue
Block a user