Knowledge Domain Database - Observability
How does the domain work before writing a line of code? Choose a document from the left tree: each page explains part of the model.
Business Rules - Observability
This document lists the fundamental business rules of the Observability domain, each identified by a unique BR-NNN code. Every rule is technology-independent (valid on Prometheus, OpenTelemetry, any backend) and describes an invariant constraint on the behavior of the observability system.
---
BR-001 - Mandatory instrumentation of critical signals
Code: BR-001
Name: Every service exposes the Golden Signals
Description: Every instrumented Service must emit at least the Golden Signals (latency, traffic, errors, saturation) - or RED (Rate, Errors, Duration) / USE (Utilization, Saturation, Errors) equivalents. An uninstrumented service is a blind spot.
Rationale: Without signals there is no observability; the Golden Signals are the minimum to diagnose health.
Priority: HIGH
Actors: Service Owner, Instrumentation Layer
Traceability: Golden Signals, RED method, USE method (glossary); instrument-service.md.
---
BR-002 - End-to-end context propagation
Code: BR-002
Name: Every request propagates the trace context across services
Description: Every Span generated in a distributed request must propagate the TraceContext (W3C Trace Context) to downstream services, so all spans belong to the same Trace. Broken propagation breaks the trace.
Rationale: Correlate the whole request across service boundaries.
Priority: HIGH
Actors: Instrumentation Layer, Service Owner
Violation: orphan traces (spans without a parent), impossible cross-service diagnosis.
Traceability: Context propagation, W3C Trace Context (glossary); instrument-service.md.
---
BR-003 - Metric cardinality under control
Code: BR-003
Name: Metric labels do not have unbounded cardinality
Description: No Metric may use as a label high-cardinality unbounded values (e.g. user ID, request ID, timestamp). Cardinality explosion grows the time series until it saturates the backend.
Rationale: Prevent the metrics backend from crashing and contain costs.
Priority: HIGH
Actors: Service Owner, Telemetry Backend
Violation: cardinality explosion → backend degradation or crash.
Traceability: Cardinality, Cardinality explosion (glossary); domain-faq.md.
---
BR-004 - SLOs with explicit error budgets
Code: BR-004
Name: Every critical service has defined SLIs, SLOs and error budgets
Description: Every critical Service must have measurable SLIs, stated SLO targets and a derived ErrorBudget. Operational decisions (releases, alerting) are based on error budget consumption, not arbitrary thresholds.
Rationale: Balance reliability and development speed in a measurable way.
Priority: HIGH
Actors: SRE, Service Owner
Traceability: SLI, SLO, Error Budget (glossary); define-slo.md.
---
BR-005 - Actionable, symptom-based alerts
Code: BR-005
Name: An alert fires on a symptom requiring human action
Description: Every Alert must signal a user-relevant symptom (e.g. high error-budget burn rate) and require an action. Alerts on impactless causes or those requiring no intervention (noise) are forbidden.
Rationale: Avoid alert fatigue; every notification must deserve attention.
Priority: HIGH
Actors: SRE, Alerting Engine
Traceability: Alerting, Burn Rate (glossary); evaluate-alert.md.
---
BR-006 - The three signals are correlatable
Code: BR-006
Name: Metrics, logs and traces share correlation identifiers
Description: The three pillars (Metric, Log, Trace) must be correlatable through common identifiers (trace_id, service.name, exemplars). From a metric alert one must be able to reach the relevant traces and logs.
Rationale: Reduce MTTR by navigating between signals during an incident.
Priority: HIGH
Actors: Instrumentation Layer, SRE
Traceability: Correlation, Exemplar (glossary); domain-faq.md.
---
BR-007 - Semantic conventions and structured logging
Code: BR-007
Name: Telemetry with standard semantic attributes and structured logs
Description: Telemetry must use Semantic Conventions (standard Resource attributes like service.name, service.version) and logs must be structured (JSON with typed fields), not free text. This makes signals queryable and correlatable.
Rationale: Interoperability between tools and reliable queries.
Priority: MEDIUM
Actors: Instrumentation Layer, Service Owner
Traceability: Semantic Conventions, Structured logging, Resource (glossary).
---
BR-008 - Cost-governed sampling and retention
Code: BR-008
Name: Sampling and retention are sized to the signal's value
Description: Signal Sampling (head or tail-based) and Retention must balance observability and cost: high-fidelity retention for what has diagnostic value (errors, latency tails) and sampling or reduced retention for the rest.
Rationale: Keep observability economically sustainable.
Priority: MEDIUM
Actors: SRE, Telemetry Backend
Traceability: Head/tail-based sampling, Retention (glossary); domain-faq.md.