A standardized metric for assessing OpenTelemetry instrumentation quality
The Instrumentation Score is a standardized, vendor-neutral metric that quantifies the quality of OpenTelemetry instrumentation. Represented as a numerical value from 0 to 100, it provides objective feedback on how well a service or system follows OpenTelemetry best practices and semantic conventions.
The rules defined in this specification are classified into different impact levels, presenting actionable recommendations that teams can implement in order to improve the overall score of their services. These levels provide engineers with a recommended prioritization across a range of potential instrumentation issues, allowing them to focus on the most critical actions.
While this specification can be used and implemented by anyone, we have identified key audiences who will benefit most from the Instrumentation Score:
We expect vendors to adopt the Instrumentation Score as a standard metric in their platforms. This provides:
- Consistent Quality Assessment: Standardized scoring across different tools and platforms
- Customer Value: Clear instrumentation quality insights for users
- Customer Advisory: Use the spec as a framework when advising customers on instrumentation best practices
Observability engineers and engineering teams are the primary users who will interpret and act on Instrumentation Scores:
- Quality Assessment: Understand instrumentation health at a glance
- Improvement Guidance: Get actionable insights for better instrumentation
- Vendor Independence: Carry knowledge between different observability platforms
- Team Communication: Use common vocabulary when discussing instrumentation quality
We encourage these teams to join the project and contribute their expertise:
- Real-world Experience: Share insights about what constitutes good vs. bad instrumentation
- Rule Development: Help define and refine scoring criteria
- Use Case Validation: Ensure rules reflect practical observability needs
- Community Growth: Expand the collective knowledge base
As OpenTelemetry adoption grows, organizations face challenges with instrumentation quality:
- Missing critical attributes (e.g.,
service.name
) - Inefficient telemetry signal usage
- High cardinality issues
- Incomplete traces
- Inconsistent instrumentation patterns
The Instrumentation Score addresses these challenges by providing:
- π― Common Vocabulary: Shared language for discussing instrumentation quality
- π Benchmarking: Meaningful comparisons across services and over time
- π§ Actionable Guidance: Clear feedback to improve instrumentation
- π° Efficiency: Practices that lead to more cost-effective telemetry
The Instrumentation Score uses these qualitative categories:
Score Range | Category | Meaning |
---|---|---|
90-100 | Excellent | High standard of instrumentation quality |
75-89 | Good | Solid quality; minor improvements possible |
50-74 | Needs Improvement | Tangible issues requiring attention |
10-49 | Poor | Significant problems needing urgent action |
- Analyze OTLP Data: The score is calculated by analyzing OpenTelemetry Protocol (OTLP) telemetry streams.
- Apply Rules: A set of standardized rules evaluate traces, metrics, and resource attributes. Each rule is evaluated as a boolean condition with
true
implying success andfalse
implying failure. - Calculate Score: Mathematical formula generates a single score, applying weights to each rule check.
- Provide Feedback: Actionable insights guide improvements.
Let:
-
$N$ be the total number of impact levels. -
$L_i$ denote the$i$ -th impact level, where$i \in {1, 2, \dots, N}$ . -
$W_i$ be the weight assigned to the$i$ -th impact level ($L_i$ ). -
$P_i$ be the number of rules passed, or succeeded, for impact level$L_i$ . -
$T_i$ be the total number of rules for impact level$L_i$ .
The Instrumentation Score is calculated as:
See the Specification for further examples and further details.
π Full Specification - Complete technical specification
π§ Contributing Guide - How to contribute to the project
ποΈ Governance - Project governance and maintainers
π Prior Art - Research on existing scoring systems
π Rules Directory - Complete set of scoring rules
This specification is designed to be implementation-agnostic. Multiple tools can implement the Instrumentation Score calculation while maintaining consistency through the standardized rules.
- β MUST implement all rules defined in this specification
- β MUST use the standardized calculation formula
- β MUST provide information if not all rules are implemented
- β MUST NOT include additional rules that affect the standard score
Scoring rules are the foundation of the Instrumentation Score. Each rule includes:
- ID: Unique identifier (e.g.,
RES-001
,SPAN-042
). - Description: Human-readable explanation.
- Rationale: Why this rule matters for quality.
- Criteria: Boolean condition that evaluates as
true
for success orfalse
for failure. - Target: OTLP element type (
Resource
,TraceSpan
,Metric
,Log
), - Impact: Impact level (
Critical
,Important
,Normal
,Low
).
id: RES-001
description: "Service name must be present"
rationale: "service.name is fundamental for service identification and observability"
target: Resource
impact: Critical
type: Negative
criteria: "Resource attributes must contain 'service.name' key with non-empty value"
We welcome contributions from the OpenTelemetry community! Here's how to participate:
- π¬ Join Discussion: CNCF Slack #instrumentation-score
- π Report Issues: GitHub Issues
- π Submit Changes: Follow our contributing guide
- π Attend Meetings: Community meetings (schedule in Slack)
- Antoine Toulme (@atoulme), Splunk
- Daniel Gomez Blanco (@danielgblanco), New Relic
- Juraci PaixΓ£o KrΓΆhling (@jpkrohling), OllyGarden
- Michele Mancioppi (@mmanciop), Dash0
Current Status: Active development and community feedback
This is an open-source specification initiated by OllyGarden with the goal of becoming a community-governed standard for instrumentation quality assessment.
The Instrumentation Score specification:
- ποΈ Builds on OpenTelemetry Semantic Conventions
- π Analyzes OTLP telemetry data streams
- π§ Complements existing observability tools
- π― Guides effective use of OTel SDKs and Collector
- π€ Intended for integration with the OpenTelemetry ecosystem
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
- OpenTelemetry project and community
- All contributors and community members
Start improving your instrumentation quality today! π
For questions, feedback, or discussions, join us in the CNCF Slack #instrumentation-score channel.