Stella Ops Telemetry
Verified against commit
942a18727c(2026-09-26, DOC-2 of SPRINT_20260926_001). Re-verify by reading the evidence paths listed in the Evidence section ofarchitecture.md.
Service wiring (image, database and role, compose profile, bundle presence) is generated in the service inventory; this dossier does not restate it.
Shared OpenTelemetry instrumentation, metric families, redaction, and federation libraries that Stella Ops services consume in-process.
Audience: developers instrumenting Stella Ops services, and operators reasoning about what telemetry the platform emits today versus what remains on the roadmap.
The Telemetry module ships as in-process .NET libraries (StellaOps.Telemetry.Core, StellaOps.Telemetry.Federation, StellaOps.Telemetry.Analyzers) that Stella Ops services consume via dependency injection. It provides:
- OpenTelemetry instrumentation (
AddStellaOpsTelemetry) and context propagation; - log redaction;
- the Stella Ops metric families (golden signals, DORA, NIS2, time-to-first-signal / time-to-evidence, proof coverage/generation, fidelity, P0, unknowns-burndown, triage, attestation/deployment);
- sealed-mode and incident-mode guardrails;
- opt-in federated telemetry (DSSE-signed consent, differential-privacy aggregation, bundle build/verify).
Scope boundary. The deployed observability stack described under Roadmap (not implemented) below — collectors, Prometheus/Tempo/Loki storage, forensic capture, and the
stella telemetry deploy/profile/captureCLI verbs — is roadmap and is not yet implemented insrc/Telemetry/. See./architecture.mdfor the authoritative, code-grounded surface (DI entry points, the full meter table, HTTP endpoints, and config keys).
Responsibilities (current library surface)
- Wire the OpenTelemetry SDK (tracing/metrics/logging) and context propagation into Stella Ops services via
AddStellaOpsTelemetry(...),AddTelemetryContextPropagation(),UseStellaOpsTelemetryContext(), andAddTelemetryPropagation()(TelemetryServiceCollectionExtensions). - Register the Stella Ops metric families through opt-in DI extensions (
AddGoldenSignalMetrics,AddDoraMetrics,AddNis2AreaMetrics,AddTimeToFirstSignalMetrics,AddTimeToEvidenceMetrics,AddAttestationMetrics) and enforce metric-label cardinality (MetricLabelGuard/MetricLabelAnalyzer) and credential-logging hygiene (CredentialExceptionLoggingAnalyzer). - Provide log redaction (
AddLogRedaction→LogRedactor/RedactingLogProcessor). - Enforce sealed-mode egress guardrails (
AddSealedModeTelemetry→SealedModeTelemetryService,TelemetryExporterGuard,SealedModeFileExporter) and incident-mode sampling toggles (AddIncidentMode→IncidentModeService). - Provide opt-in federated telemetry (
AddFederatedTelemetry/AddFederatedTelemetrySync): DSSE-signed consent, tenant-bounded k-anonymity and differential-privacy aggregation, bundle build/verify, durable Platform-owned installation state, and certificate-bound peer delivery. The deployed two-installation forcing proof is recorded underdocs-archive/qa/feature-checks/runs-2026-live-snapshot/telemetry/federated-peer-delivery/run-001/(frozen).
Responsibilities (roadmap — not yet implemented)
- Deploy and operate OpenTelemetry collectors for Stella Ops services.
- Provide storage configuration for Prometheus/Tempo/Loki stacks.
- Document smoke tests and offline bootstrapping steps.
- Align metrics and alert packs with module SLOs.
Key components
- Telemetry instrumentation + metric families:
src/Telemetry/StellaOps.Telemetry.Core/StellaOps.Telemetry.Core/. - Federated telemetry pipeline:
src/Telemetry/StellaOps.Telemetry.Federation/. - Build-time hygiene analyzers (
MetricLabelAnalyzer,CredentialExceptionLoggingAnalyzer):src/Telemetry/StellaOps.Telemetry.Analyzers/. - HTTP endpoints (federation participation/installation administration, NIS2 effectiveness): owned by
src/Platform/StellaOps.Platform.WebService/Endpoints/(FederationTelemetryEndpoints.cs,FederationPeerEndpoints.cs,Nis2TelemetryEndpoints.cs). Current-tenant/participation/*routes usetelemetry:participation:read,telemetry:participation:write, ortelemetry:facts:write; installation/installation/*routes useplatform:federation:readorplatform:federation:write. The certificate-authenticated peer receive route is internal and excluded from public OpenAPI. The NIS2 effectiveness route usesanalytics.read(seeStellaOps.Auth.Abstractions/StellaOpsScopes.cs). - CLI telemetry surface (shipped): instrumentation under
src/Cli/StellaOps.Cli/Telemetry/(CliMetrics,CliActivitySource,SealedModeTelemetry,TraceparentHttpMessageHandler), the setup-wizardTelemetrySetupStep, and the DORA incident-reporting command (src/Cli/StellaOps.Cli/Commands/DoraIncidentCommandGroup.cs). There is nostella telemetry deploy/profile/capturecommand group — those are roadmap. - Roadmap: collector/storage deployment guides (
./operations/collector.md,./operations/storage.md). DevOps collector/dashboard/alert assets live underdevops/telemetry/(collectors, dashboards, grafana, storage, alerts) in the main repo; there is noops/devops/telemetry/path.
Integrations & dependencies
- DevOps pipelines for packaging telemetry bundles.
- Module-specific dashboards under
devops/telemetry/dashboards/. - Security/Compliance for retention policies.
Operational notes
- DevOps collector configs, dashboards, Grafana provisioning, storage configs, and alert rules live in the main repo under
devops/telemetry/(the olderops/devops/telemetrypath does not exist). - Observability assets:
operations/observability.mdandoperations/dashboards/telemetry-observability.json(offline import); the TTFS observability dashboard atoperations/dashboards/ttfs-observability.jsonand alerts atoperations/alerts/ttfs-alerts.yaml.
Related resources
- Architecture — authoritative code-grounded surface.
- Time-to-first-signal architecture
- Federation architecture
- Collector operations (roadmap)
- Storage operations (roadmap)
- NIS2 effectiveness dashboard
- Federated consent contract v1
- Federated telemetry contract v1
- NIS2 KPI telemetry schema v1
- Federated telemetry operations runbook
Roadmap (not implemented)
A deployed collector tier (default/forensic/air-gap profiles), Prometheus/Tempo/Loki storage backends, forensic OTLP archive bundles, Notify escalation hooks and stella telemetry deploy/profile/capture verbs are not present in src/Telemetry/. They remain roadmap; see section 7 of architecture.md. The in-process incident-mode service (IncidentModeService, AddIncidentMode) is implemented.
Operational assets
- Observability runbook:
operations/observability.md - Dashboards:
operations/dashboards/telemetry-observability.json,operations/dashboards/nis2-effectiveness-dashboard.json(doc),operations/dashboards/ttfs-observability.json - Alerts:
operations/alerts/ttfs-alerts.yaml
Work tracking
Sprint files under docs/implplan/ are the only task ledger. TASKS.md and implementation_plan.md in this directory are retired pointers.
