Skip to content

Reference

Look-up facts for the OpenTelemetry project as used by the guidance program: signal and protocol stability, semantic-convention stability, OpenTelemetry Operator facts, and a catalogue of the published blueprints and reference implementations. Every row was checked on 2026-09-25 against the upstream repositories (opentelemetry-specification, opentelemetry-proto, semantic-conventions, opentelemetry-operator, opentelemetry.io). Collector-engine facts (distributions, release cadence, component stability) live in the sibling OTel Collector topic.

Current Versions

Component Latest (date) Source
Specification v1.61.0 (2026-09-14) spec CHANGELOG
OTLP protobuf definitions (opentelemetry-proto) 1.11.0 (2026-07-21) proto CHANGELOG
Semantic conventions v1.44.0 (2026-09; exact date TBD, the CHANGELOG has no dates) semconv CHANGELOG, semconv docs
OpenTelemetry Operator v0.159.0 (2026-09-14) Operator CHANGELOG, release page
Operator Helm chart 0.123.1 (appVersion 0.159.0) helm-charts
Collector core v1.67.0 / v0.161.0 (see sibling topic) Collector CHANGELOG

Specification changelog date typos

The spec CHANGELOG labels v1.55.0 through v1.58.0 with 2025 dates (for example "v1.58.0 (2025-06-22)"), but they sit between v1.54.0 (2026-02-13) and v1.59.0 (2026-07-10). Read them as 2026 releases.

Recent specification releases:

Version Date Notable changes
v1.61.0 2026-09-14 view_matching_mode on MeterProvider. maxExportBatchSize on the periodic MetricReader marked stable. AttributeValueDepthLimit for nested attribute values
v1.60.0 2026-08-07 Entity specification plus Entity support in the Resource SDK. OTLP exporter max request/response size options
v1.59.0 2026-07-10 Profiles data model added. Environment variables as context-propagation carriers reach Release Candidate. SDK self-observability guidelines
v1.58.0 2026 (see note) OpenCensus compatibility requirements deprecated. Non-OTLP attribute representation stabilized

Signal Status

Status as declared in the specification documents (**Status**: headers) and the OTLP maturity table on 2026-09-25:

Signal API SDK OTLP (protobuf / JSON) Notes
Traces Stable Stable Stable / Stable Some newer SDK features (for example OnEnding) are Development
Metrics Stable Mixed (core Stable) Stable / Stable Prometheus compatibility sections are being stabilized release by release
Logs Stable (Logs Bridge API) Stable Stable / Stable Log data model Stable. The API is for log appenders, not end users
Baggage Stable Stable N/A Not a telemetry signal, so no OTLP or Collector component
Profiles Alpha (spec README) In development per language Development / Development (profiles/v1development) Public alpha announced 2026-03-26. Collector support from v0.148.0
Entities Development Development N/A Entity spec added in v1.60.0
Declarative configuration N/A Data model Stable N/A YAML file-based SDK configuration. Language support varies

Profiles are still alpha

The Profiling SIG's own public-alpha announcement advises against critical production workloads and notes that production-ready backends had not yet emerged. The spec README calls the signal Alpha, while the proto repo marks the profiles/* packages as Development. Both labels mean the format can still break.

OTLP Quick Facts

Fact Value
Default ports 4317 (gRPC), 4318 (HTTP)
Default SDK exporter protocol http/protobuf (the blueprint's Action 2 also names HTTP/protobuf as the default)
Stable packages common, resource, trace, metrics, logs (plus their collector/* services), in binary protobuf and JSON
Development packages profiles/*, processcontext/* (added in 1.11.0 for OTEP 4719 process-context sharing)
Attribute values (since 1.9.0) Consumers must accept empty, bytes, heterogeneous arrays, and kvlist attribute values
Size limits (since 1.11.0) Request and response size limitations documented for HTTP bodies and gRPC messages
Retry signalling Retryable codes such as HTTP 429/503 or gRPC UNAVAILABLE. Retry-After may be an HTTP-date (clarified in 1.11.0)

Semantic Conventions Stability

Status of the convention areas the guidance program depends on, per the semconv CHANGELOG and the docs' **Status**: headers:

Area Status Since Notes
HTTP spans and metrics Stable v1.23.0 (2023-11-03) Experimental attributes live in stable groups as opt-in. v1.42.0 made network.peer.address opt-in on two HTTP client metrics (cardinality)
Database (MariaDB, SQL Server, MySQL, PostgreSQL) Stable v1.33.0 First release where the database core stabilized. Release Candidate in v1.28.0. Other databases vary (Oracle RC)
code.* attributes Stable v1.33.0
RPC (core, gRPC, Apache Dubbo) Release Candidate v1.40.0
Messaging (including Kafka) Development v1.44.0 defined one span per operation type (create, send, receive, process, settle)
Generative AI (gen_ai.*, OpenAI, MCP) Development Moved in v1.42.0 Deprecated in the main repo and moved to semantic-conventions-genai
CI/CD and VCS Release Candidate v1.43.0
Process metrics and entity Release Candidate v1.43.0
Selected K8s and container memory metrics Release Candidate v1.44.0 v1.44.0 also renamed *.memory.paging.faults to *.paging.faults (breaking)
service.instance.id, service.namespace Stable v1.40.0
deployment.environment.name, otel.event.name, telemetry.distro.* Stable v1.41.0 The blueprint's minimum resource attributes rely on deployment.environment.name

OpenTelemetry Operator

Custom Resources

CRD API version Purpose
OpenTelemetryCollector opentelemetry.io/v1beta1 (v1alpha1 still served) Collector as deployment (default), daemonset, statefulset, or sidecar via spec.mode
Instrumentation opentelemetry.io/v1alpha1 SDK and auto-instrumentation settings: exporter endpoint, propagators, sampler, per-language images
TargetAllocator opentelemetry.io/v1alpha1 Prometheus scrape-target distribution across Collector replicas
OpAMPBridge opentelemetry.io/v1alpha1 Manage Collectors through OpAMP
ClusterObservability opentelemetry.io/v1alpha1 Controller-of-controllers that creates an agent DaemonSet, a cluster StatefulSet, and one Instrumentation CR. Behind the operator.clusterobservability feature gate

Injection Annotations

Annotations go on the namespace or on the pod template (spec.template.metadata.annotations), not on the Deployment's own metadata.

Annotation Runtime
instrumentation.opentelemetry.io/inject-java Java agent
instrumentation.opentelemetry.io/inject-nodejs Node.js
instrumentation.opentelemetry.io/inject-python Python (otel-python-platform selects glibc or musl)
instrumentation.opentelemetry.io/inject-dotnet .NET (otel-dotnet-auto-runtime selects the runtime)
instrumentation.opentelemetry.io/inject-go Go eBPF instrumentation (otel-go-auto-target-exe names the binary)
instrumentation.opentelemetry.io/inject-apache-httpd Apache HTTPD module
instrumentation.opentelemetry.io/inject-nginx NGINX module
instrumentation.opentelemetry.io/inject-sdk SDK environment variables only, no agent
sidecar.opentelemetry.io/inject Injects a Collector sidecar from an OpenTelemetryCollector with mode: sidecar

Accepted values: "true" (the single matching CR in the namespace), "<name>" (a CR in the same namespace), "<namespace>/<name>" (a CR in another namespace, instrumentation only), "false" (opt out).

Compatibility And Bundled Versions (v0.159.0)

Item Value
Kubernetes v1.25 to v1.36 (1.36 support added in v0.157.0)
cert-manager v1 (needed for the webhook certificates in the default manifest install)
prometheus-operator packages v0.93.1
Versioning rule Operator minor tracks the Collector minor. It upgrades managed OpenTelemetryCollector resources unless spec.image is custom
Java auto-instrumentation v2.31.1
.NET auto-instrumentation v1.16.0
Node.js auto-instrumentation v0.78.0
Python auto-instrumentation v0.65b0
Go auto-instrumentation v0.24.0
Apache HTTPD / NGINX modules 1.0.4

Recent Behavior Changes

Version Change
v0.159.0 Target Allocator gets an explicit none filter strategy (breaking for typed Go clients). resizePolicy on the Collector CR. Ready=False condition when the TargetAllocator cannot be fetched
v0.158.0 Operator and operand NetworkPolicies enabled by default (feature gates promoted to beta). GOMEMLIMIT/GOMAXPROCS set automatically. Node.js injection now defaults OTEL_METRICS_EXPORTER=otlp
v0.157.0 Kubernetes 1.36 support. Target Allocator mTLS without cert-manager

Guidance Program Catalogue

Page Kind Date Status
Managed Telemetry Platforms for Kubernetes Workloads Blueprint (living) sig-end-user issue #246. Site PR #10107 merged 2026-06-24 (2026-08 research, not re-checked) Published. 5 challenges, 4 guidelines, 5 implementation actions, 5 appendices
Infrastructure and Processes in Non-K8s Environments Blueprint (living) Tracked as sig-end-user issue #245 Published. 3 challenges, 3 guidelines, 6 implementation steps. Reference architectures "Coming soon"
Kubernetes observability Blueprint sig-end-user issue #247 In progress. Not found on the site as of 2026-09-25
Adobe Reference implementation (snapshot) 2026-04-08 Published
Mastodon Reference implementation (snapshot) 2026-03-18 Published
Skyscanner Reference implementation (snapshot) 2026-04-21 Published
Introducing OTel Blueprints and Reference Implementations Announcement blog 2026-05-12 End-User SIG, with the Developer Experience SIG

The reference-implementation dates are the byline dates on each page. Proposals go through issue templates in the sig-end-user repository before a docs pull request.

Managed-Platforms Blueprint Map

Part Items
Challenges 1 Inconsistent configuration and low adoption of standards. 2 Collector configuration sprawl. 3 Pipelines not optimized for observability data. 4 Weak telemetry governance and low ROI. 5 Low observability of SDKs and pipelines
Guidelines 1 Centralize default, extensible SDK configuration. 2 Shared ownership of telemetry production. 3 Centrally managed Collector Gateways. 4 Aggregate, process, and sample at different layers
Actions 1 Operator (or shared packages) for app-level config. 2 Organization standards in the default config. 3 Operator or Helm charts for Gateways. 4 Collector processors for efficient volumes. 5 Monitor SDKs and Collectors
Appendices 1 Trace sampling techniques. 2 gRPC load balancing. 3 SDK config overrides. 4 file_storage deployment notes. 5 k8s_attributes deployment notes
Declared out of scope Audit logging and business reporting pipelines. Compliance (GDPR, HIPAA, PCI) and inter-layer auth/encryption. Semantic-convention governance. Full sampling architecture

Reference Implementation Fact Sheet

Company-reported figures (self-reported, not audited):

Fact Adobe Mastodon Skyscanner
Organization Central observability team plus product-group teams from acquisitions ~20 people. One engineer runs observability 1,400 employees. 6-engineer Hubble platform team
Estate Thousands of Collectors per signal type mastodon.social: 9-15 nodes (16 cores, 64 GB), 70-80 pods. mastodon.online: 3-6 nodes (8 cores, 32 GB), 20-30 pods 1,000+ microservices on 24 production clusters, mostly Java
Traffic Not published Up to 300,000 daily active users and ~10M requests/min (mastodon.social) Not published
Collector distribution Custom build (Contrib opt-in) Contrib Contrib (plans custom builds)
Backend Multiple, chosen per team Datadog (named in the config) One commercial vendor (New Relic per Skyscanner's own post)
Upgrade cadence Quarterly (Collector and Operator) Not stated About every six months
Rollout Helm chart picked up on next team deploy Argo CD from Git Argo CD: Dev, then 3 Alpha, 8 Beta, and the remaining 13 production clusters
Sampling Not described Tail: all errors plus ~0.1% of successes Error-based trace sampling. A span processor un-errors expected cache-miss 404s first

Sources