Specification
as of v1.60.0The specification is prose, so it is indexed here by the only part of it that binds an implementation: its RFC 2119 requirements — 1753 of them across 62 documents, 953 of which are MUST or SHALL.
Recently changed requirements
- v1.60.0sdk.md#emit-a-logrecordMUST added: Enabled: If the
Loggeris not enabled (i.e.LoggerConfig.enabledisfalse), the log record MUST be dropped. - v1.60.0sdk.md#createMUST added: When both
EntitiesandAttributesare provided in the create method, the system MUST behave as if a Resource is created with justAttributesand then merges with another Resource created with justEntities. - v1.60.0sdk.md#mergeMUST added: If either resource contains
Entitiesthen merge behavior with Entiites MUST be used, otherwise merge behavior without Entities MUST be used. - v1.60.0sdk.md#merge-behavior-with-entitiesMUST added: When either Resource contains entities, the merge operation MUST follow the resource data model's merge algorithm.
- v1.60.0sdk.md#merge-behavior-with-entitiesMUST added: The resulting
SchemaURLMUST match the behavior defined in the merge algorithm. - v1.60.0sdk.md#retrieve-attributesMUST added: When entities are enabled and present for the Resource, this list MUST include all attributes, including those associated with entities.
- v1.59.0env-carriers.md#process-spawningMUST NOT removed: The language implementations MUST NOT handle spawning processes.
- v1.59.0env-carriers.md#propagator-mechanismsMUST NOT added: Language implementations MUST NOT spawn child processes as part of environment variable context propagation.
- v1.59.0env-carriers.md#propagator-mechanismsSHOULD added: Language implementations SHOULD document operational guidance, including initialization-time extraction, child process environment handling, and security considerations.
- v1.59.0sdk.md#getsamplingintentSHOULD added: The calling CompositeSampler SHOULD update the threshold of the outgoing TraceState, as described above.
- v1.58.0prometheus_and_openmetrics.md#histograms-1MUST removed: The final bucket metric MUST have an
+Infthreshold. - v1.58.0README.md#arraysSHOULD added: Array elements SHOULD be represented as JSON values using the following rules:
- v1.58.0README.md#attribute-collection-representation-for-non-otlpRECOMMENDED added: For non-OTLP protocols that need to represent an Attribute Collection as a string, the RECOMMENDED form is a JSON object.
- v1.58.0README.md#attribute-collection-representation-for-non-otlpSHOULD added: Each attribute key SHOULD be represented as a JSON object member name.
- v1.58.0README.md#attribute-collection-representation-for-non-otlpSHOULD added: Each attribute value SHOULD be represented as the corresponding JSON object member value and follow the encoding rules defined in AnyValue representation for non-OTLP protocols, as it would be represented as an element ...
- v1.58.0README.md#attribute-representation-for-non-otlpRECOMMENDED added: For non-OTLP protocols that need to represent a single
Attributeas a string, the RECOMMENDED form is a JSON object containing a single name/value pair (member).
Documents
README
- README.mdUnspecified4 requirements · 3 binding
baggage
- baggage/api.mdStable26 requirements · 13 binding
common
- common/attribute-type-mapping.mdDevelopment26 requirements · 3 binding
- common/instrumentation-scope.mdStable3 requirements
- common/mapping-to-non-otlp.mdStable14 requirements · 13 binding
- common/README.mdStable55 requirements · 20 binding
compatibility
- compatibility/logging_trace_context.mdStable4 requirements
- compatibility/opencensus.mdDeprecated20 requirements · 15 binding
- compatibility/opentracing.mdDeprecated49 requirements · 43 binding
- compatibility/prometheus_and_openmetrics.mdMixed123 requirements · 96 binding
configuration
- configuration/api.mdMixed8 requirements · 2 binding
- configuration/common.mdStable16 requirements · 6 binding
- configuration/data-model.mdStable13 requirements · 8 binding
- configuration/README.mdUnspecified4 requirements · 1 binding
- configuration/sdk-environment-variables.mdStable23 requirements · 11 binding
- configuration/sdk.mdStable33 requirements · 12 binding
- configuration/supplementary-guidelines.mdUnspecified1 requirements
context
- context/api-propagators.mdStable46 requirements · 33 binding
- context/env-carriers.mdRelease Candidate11 requirements · 9 binding
- context/README.mdStable15 requirements · 12 binding
document-status
- document-status.mdUnspecified5 requirements · 1 binding
entities
- entities/data-model.mdDevelopment19 requirements · 8 binding
- entities/entity-events.mdDevelopment18 requirements · 8 binding
- entities/entity-propagation.mdDevelopment16 requirements · 7 binding
error-handling
- error-handling.mdUnspecified10 requirements · 7 binding
library-guidelines
- library-guidelines.mdUnspecified5 requirements · 5 binding
logs
- logs/api.mdStable24 requirements · 12 binding
- logs/data-model.mdStable11 requirements · 2 binding
- logs/noop.mdStable10 requirements · 8 binding
- logs/sdk_exporters/stdout.mdStable3 requirements
- logs/sdk.mdStable114 requirements · 61 binding
metrics
- metrics/api.mdStable140 requirements · 66 binding
- metrics/data-model.mdMixed28 requirements · 4 binding
- metrics/noop.mdStable60 requirements · 52 binding
- metrics/sdk_exporters/in-memory.mdStable5 requirements · 4 binding
- metrics/sdk_exporters/otlp.mdStable8 requirements · 8 binding
- metrics/sdk_exporters/prometheus.mdMixed32 requirements · 19 binding
- metrics/sdk_exporters/stdout.mdStable7 requirements · 4 binding
- metrics/sdk.mdMixed268 requirements · 122 binding
overview
- overview.mdUnspecified5 requirements · 3 binding
profiles
- profiles/mappings.mdAlpha3 requirements · 1 binding
- profiles/README.mdAlpha2 requirements · 1 binding
protocol
- protocol/exporter.mdStable28 requirements · 14 binding
- protocol/file-exporter.mdDevelopment4 requirements · 2 binding
resource
- resource/data-model.mdDevelopment3 requirements · 1 binding
- resource/README.mdUnspecified3 requirements · 1 binding
- resource/sdk.mdStable33 requirements · 21 binding
schemas
- schemas/file_format_v1.0.0.mdDevelopment10 requirements · 1 binding
- schemas/file_format_v1.1.0.mdDevelopment10 requirements · 1 binding
- schemas/README.mdStable4 requirements · 4 binding
self-observability
- self-observability.mdDevelopment2 requirements
semantic-conventions
- semantic-conventions.mdDevelopment3 requirements · 3 binding
telemetry-stability
- telemetry-stability.mdDevelopment6 requirements · 1 binding
trace
- trace/api.mdStable124 requirements · 69 binding
- trace/exceptions.mdStable4 requirements · 2 binding
- trace/sdk_exporters/stdout.mdStable3 requirements
- trace/sdk_exporters/zipkin.mdDeprecated19 requirements · 16 binding
- trace/sdk.mdStable129 requirements · 71 binding
- trace/tracestate-handling.mdDevelopment8 requirements · 7 binding
- trace/tracestate-probability-sampling.mdDevelopment2 requirements · 1 binding
upgrading
- upgrading.mdUnspecified1 requirements · 1 binding
versioning-and-stability
- versioning-and-stability.mdStable70 requirements · 34 binding
Documents with no requirements of their own (indexes, glossaries) are omitted. Only specification/ is read: oteps/, development/ and supplementary-guidelines/ are proposals and commentary, and their MUSTs bind no one. The OTLP protocol specification is not in this repository at all — it is covered under OTLP.