Skip to content

Releases: open-telemetry/opentelemetry-specification

Release v1.20.0

07 Apr 21:21
855d80c
Compare
Choose a tag to compare

v1.20.0 (2023-04-07)

Context

  • No changes.

Traces

  • Clarify required parent information in ReadableSpan. Technically a relaxation,
    but previously it was easy to overlook certain properties were required.
    (#3257)
  • Remove underspecified and unused Span decorator from Trace SDK.
    (#3363)

Metrics

  • Clarify that units should use UCUM case sensitive variant.
    (#3306)
  • Remove No-Op instrument and Meter creation requirements.
    (#3322)

Logs

  • Update log readme "request context" to "trace context".
    (#3332)
  • Remove log readme document status.
    (#3334)
  • Break out compatibility document on recording trace context in non-OTLP Log Format
    (#3331)
  • Ensure Logs Bridge API doesn't contain SDK implementation details
    (#3275)
  • Add Log Bridge API artifact naming guidance
    (#3346)
  • Add log appender / bridge to glossary.
    (#3335)

Resource

  • No changes.

Semantic Conventions

  • Clarify that attribute requirement levels apply to the instrumentation library
    (#3289)
  • Fix grammatical number of metric units.
    (#3298)
  • Rename net.app.protocol.(name|version) to net.protocol.(name|version)
    (#3272)
  • Replace http.flavor with net.protocol.(name|version)
    (#3272)
  • Metric requirement levels are now stable
    (#3271)
  • BREAKING: remove messaging.destination.kind and messaging.source.kind.
    (#3214,
    #3348)
  • Define attributes collected for cosmosdb by Cosmos DB SDK
    (#3097)
  • Clarify stability requirements of semantic conventions
    (#3225)
  • BREAKING: Change span statuses for gRPC server spans.
    (#3333)
  • Stabilize key components of service.* and telemetry.sdk.* resource
    semantic conventions.
    (#3202)
  • Fixed attributes requirement level in semantic conventions for hardware metrics
    (#3258)
  • Added AWS S3 semantic conventions.
    (#3251)
  • Fix units in the Kafka metric semantic conventions.
    (#3300)
  • Add Trino to Database specific conventions
    (#3347)
  • Change db.statement to only be collected if there is sanitization.
    (#3127)
  • BREAKING: Remove http.status_code attribute from the
    http.server.active_requests metric.
    (#3366)
  • Mark attribute requirement levels as stable
    (#3368)

Compatibility

  • No changes.

OpenTelemetry Protocol

  • Declare OTLP stable.
    (#3274)

SDK Configuration

  • No changes.

Telemetry Schemas

  • No changes.

Common

  • No changes.

New Contributors

Release v1.19.0

06 Mar 19:34
9146312
Compare
Choose a tag to compare

v1.19.0 (2023-03-06)

Context

  • No changes.

Traces

  • No changes.

Metrics

  • Add unit to View's Instrument selection criteria.
    (#3184)
  • Add metric requirement levels "Required", "Recommended", and "Opt-In".
    (#3237)

Logs

  • Rename Logs API to Logs Bridge API to prevent confusion.
    (#3197)
  • Move event language from log README to event-api.
    (#3252)

Resource

  • Clarify how to collect host.id for non-containerized systems.
    (#3173)

Semantic Conventions

  • Move X-Ray Env Variable propagation to span link instead of parent for AWS Lambda.
    (#3166)
  • Add heroku resource semantic conventions.
    #3075
  • BREAKING: Rename faas.execution to faas.invocation_id
    (#3209)
  • BREAKING: Change faas.max_memory units to Bytes instead of MB
    (#3209)
  • BREAKING: Expand scope of faas.id to cloud.resource_id
    (#3188)
  • Add Connect RPC specific conventions
    (#3116)
  • Rename JVM metric attribute value from nonheap to non_heap
    (#3250)
  • Mark the attribute naming guidelines in the specification as stable.
    (#3220)
  • Mark telemetry schema readme stable.
    (#3221)
  • Remove mention of net.transport from HTTP semantic conventions
    (#3244)
  • Clarifies that if an HTTP client request is explicitly made to an IP address, e.g. http://x.x.x.x:8080, then net.peer.name SHOULD be the IP address x.x.x.x
    (#3276)
  • Mark net.sock.host.port as conditionally required.
    (#3246)
  • Rename Optional attribute requirement level to Opt-In.
    (#3228)
  • Rename http.user_agent to user_agent.original.
    (#3190)
  • Expand the declaration of pool.name.
    (#3050)

Compatibility

  • Update Zipkin remoteEndpoint preferences.
    (#3087)

OpenTelemetry Protocol

  • Declare OTLP/JSON Stable.
    (#2930)

SDK Configuration

  • No changes.

Telemetry Schemas

  • No changes.

Common

  • No changes.

New Contributors

Release v1.18.0

09 Feb 14:53
84a5fa3
Compare
Choose a tag to compare

v1.18.0 (2023-02-09)

Context

  • No changes.

Traces

  • Clarify guidance regarding excessive logging when attributes are dropped or truncated.
    (#3151)

Metrics

  • No changes.

Logs

  • Define BatchLogRecordProcessor default configuration values.
    (#3002)
  • Clarify guidance regarding excessive logging when attributes are dropped or truncated.
    (#3151)

Resource

  • No changes.

Semantic Conventions

  • Add Cloud Spanner and Microsoft SQL Server Compact to db.system semantic conventions
    (#3105).
  • Enable semantic convention tooling for metrics in spec
    (#3119)
  • Rename google openshift platform attribute from google_cloud_openshift to gcp_openshift
    to match the existing cloud.provider prefix.
    (#3095)
  • Changes http server span names from {http.route} to {http.method} {http.route}
    (when route is available), and from HTTP {http.method} to {http.method} (when
    route is not available).
    Changes http client span names from HTTP {http.method} to {http.method}.
    (#3165)
  • Mark http.server.duration and http.client.duration metrics as required, and mark
    all other HTTP metrics as optional.
    #3158
  • Add net.host.port to http.server.active_requests metrics attributes.
    #3158
  • http.route SHOULD contain the "application root" if there is one.
    (#3164)

Compatibility

  • Add condition with sum and count for Prometheus summaries
    (3059).
  • Clarify prometheus unit conversions
    (#3066).
  • Define conversion mapping from OTel Exponential Histograms to Prometheus Native
    Histograms.
    (#3079)
  • Fix Prometheus histogram metric suffixes. Bucket series end in _bucket
    (#3018).

OpenTelemetry Protocol

  • No changes.

SDK Configuration

  • Add log-specific attribute limit configuration and clarify that general
    attribute limit configuration also apply to log records
    (#2861).

Telemetry Schemas

  • No changes.

Common

  • No changes.

New Contributors

Release v1.17.0

17 Jan 21:58
025f8fc
Compare
Choose a tag to compare

v1.17.0 (2023-01-17)

Context

  • No changes.

Traces

  • Clarify that the BatchSpanProcessor should export batches when the queue reaches the batch size
    (#3024)
  • Deprecate jaeger exporter, scheduled for spec removal in July 2023.
    #2858

Metrics

  • Rename built-in ExemplarFilters to AlwaysOn, AlwaysOff and TraceBased.
    (#2919)
  • Add MaxScale config option to Exponential Bucket Histogram Aggregation.
    (#3017)
  • Rename exponential bucket histogram aggregation to base 2 exponential histogram
    aggregation. Rename OTEL_EXPORTER_OTLP_METRICS_DEFAULT_HISTOGRAM_AGGREGATION
    value from exponential_bucket_histogram to
    base2_exponential_bucket_histogram.
    Mark exponential histogram data model and base2 exponential histogram aggregation as stable.
    (#3041)

Logs

  • Clarify usage of log body for structured logs
    (#3023)

Resource

  • No changes.

Semantic Conventions

  • Clarify common HTTP attributes apply to both clients and servers
    (#3044)
  • Add code.lineno source code attribute
    (#3029)
  • Add ClickHouse to db.system semantic conventions
    (#3011)
  • Refactor messaging attributes and per-message attributes in batching scenarios.
    (#2957).
    BREAKING: rename messaging.consumer_id to messaging.consumer.id,
    messaging.destination to messaging.destination.name,
    messaging.temp_destination to messaging.destination.temporary,
    messaging.destination_kind to messaging.destination.kind,
    messaging.message_id to messaging.message.id,
    messaging.protocol to net.app.protocol.name,
    messaging.protocol_version, net.app.protocol.version,
    messaging.conversation_id to messaging.message.conversation_id,
    messaging.message_payload_size_bytes to messaging.message.payload_size_bytes,
    messaging.message_payload_compressed_size_bytes to messaging.message.payload_compressed_size_bytes,
    messaging.rabbitmq.routing_key: messaging.rabbitmq.destination.routing_key,
    messaging.kafka.message_key to messaging.kafka.message.key,
    messaging.kafka.consumer_group to messaging.kafka.consumer.group,
    messaging.kafka.partition to messaging.kafka.destination.partition,
    messaging.kafka.tombstone to messaging.kafka.message.tombstone,
    messaging.rocketmq.message_type to messaging.rocketmq.message.type,
    messaging.rocketmq.message_tag to messaging.rocketmq.message.tag,
    messaging.rocketmq.message_keys to messaging.rocketmq.message.keys;
    Removed messaging.url;
    Renamed send operation to publish;
    Split destination and source namespaces and clarify per-message attributes in batching scenarios.

Compatibility

  • Add Tracer.Close() to the OpenTracing Shim layer (#3048).
  • Add OpenCensus migration guide and add BinaryPropagation as an option to gRPC
    instrumentation for OpenCensus compatibility
    (#3015).

OpenTelemetry Protocol

  • Add table for OTLP/HTTP response code and client retry recommendation
    (#3028)
  • Remove spaces from example exporter User-Agent header to conform to RFC7231 & RFC7230.
    (#3052)

SDK Configuration

  • Rename knowns values for OTEL_METRICS_EXEMPLAR_FILTER to always_on,
    always_off and trace_based.
    (#2919)

Telemetry Schemas

  • No changes.

Common

  • No changes.

New Contributors

Full Changelog: v1.16.0...v1.17.0

Release v1.16.0

08 Dec 16:36
791f463
Compare
Choose a tag to compare

v1.16.0 (2022-12-08)

Context

  • No changes.

Traces

  • No changes.

Metrics

  • Define Experimental MetricProducer as a third-party provider of metric data to MetricReaders.
    (#2951)
  • Add OTLP exporter temporality preference named "LowMemory" which
    configures Synchronous Counter and Histogram instruments to use
    Delta aggregation temporality, which allows them to shed memory
    following a cardinality explosion, thus use less memory.
    (#2961)

Logs

  • Clarification on what an Event is, and what the event.domain and event.name attributes represent
    (#2848)
  • Move event.domain from InstrumentationScope attributes to LogRecord
    attributes.
    (#2940)
  • Split out Event API from Log API
    (#2941)
  • Clarify data modification in LogRecordProcessor.
    (#2969)
  • Make sure it is very clear we are not building a Logging API.
    (#2966)

Resource

  • Extend Cloud Platform Enum with OpenShift entry for all supported cloud providers.
    (#2985)

Semantic Conventions

  • Add process.runtime.jvm.gc.duration metric to semantic conventions.
    (#2903)
  • Make http.status_code metric attribute an int.
    (#2943)
  • Add IBM Cloud as a cloud provider.
    (#2965)
  • Add semantic conventions for Feature Flags
    (#2529)
  • Rename rpc.request.metadata.<key> and rpc.response.metadata.<key> to
    rpc.grpc.request.metadata.<key> and rpc.grpc.response.metadata.<key>
    (#2981)
  • List the machine-id as potential source for a unique host.id
    (#2978)
  • Add messaging.kafka.message.offset attribute.
    (#2982)
  • Update hardware metrics to use direction as per general semantic conventions
    (#2942)

Compatibility

  • Add OpenCensus metric bridge specification.
    (#2979)

OpenTelemetry Protocol

  • No changes.

SDK Configuration

  • Specify handling of invalid numeric environment variables
    (#2963)

Telemetry Schemas

  • No changes.

Common

  • No changes.

New Contributors

Full Changelog: v1.15.0...v1.16.0

Release v1.15.0

09 Nov 15:36
8b40ae1
Compare
Choose a tag to compare

v1.15.0 (2022-11-09)

Context

  • No changes.

Traces

  • Rename http.retry_count to http.resend_count and clarify its meaning.
    (#2743)

Metrics

  • Handle duplicate description comments during Prometheus conversion.
    (#2890)
  • Allow to configure min/max recording in the exponential histogram aggregation.
    (#2904)
  • Add table of instrument additive property
    (#2906)

Logs

  • Add Context as argument to LogRecordProcessor#onEmit.
    (#2927)

Resource

  • No changes.

Semantic Conventions

  • Change to messaging.kafka.max.lag from UpDownCounter to Gauge (and rename it)
    (#2837)
  • Add daemon attribute to jvm threads metric
    (#2828)
  • Add gRPC request and response metadata semantic conventions
    (#2874)
  • Add process.paging.faults metric to semantic conventions
    (#2827)
  • Define semantic conventions yaml for non-otlp conventions
    (#2850)
  • Add more semantic convetion attributes of Apache RocketMQ
    (#2881)
  • Add process.runtime.jvm.memory.usage_after_last_gc metric to semantic conventions.
    (#2901)

Compatibility

  • Specify how Prometheus exporters and receivers handle instrumentation scope.
    (#2703).

OpenTelemetry Protocol

  • Clarify that lowerCamelCase field names MUST be used for OTLP/JSON
    (#2829)

SDK Configuration

  • No changes.

Telemetry Schemas

  • No changes.

Common

  • Clarify that Scope is defined at build time
    (#2878)

New Contributors

Full Changelog: v1.14.0...v1.15.0

Release v1.14.0

04 Oct 21:36
8c73c16
Compare
Choose a tag to compare

v1.14.0 (2022-10-04)

Context

  • No changes.

Traces

  • No changes.

Metrics

  • Changed the default buckets for Explicit Bucket Histogram to better match the official Prometheus clients.
    (#2770).
  • Fix OpenMetrics valid label keys, and specify prometheus conversion for metric name.
    (#2788)

Logs

  • Add environment variables for configuring the BatchLogRecordProcessor.
    (#2785)

Resource

  • Add browser.mobile and browser.language resource attributes
    (#2761)

Semantic Conventions

  • Add process.context_switches, and process.open_file_descriptors, to the metrics semantic conventions
    (#2706)
  • Add exceptions to the logs semantic conventions
    (#2819)
  • Make context propagation requirements explicit for messaging semantic conventions
    (#2750).
  • Update http metrics to use http.route instead of http.target for servers, drop http.url for clients
    (#2818).

Compatibility

  • No changes.

OpenTelemetry Protocol

  • Add user agent to OTLP exporter specification
    (#2684)
  • Prohibit usage of enum value name strings in OTLP/JSON
    (#2758)
  • Clarify that unknown fields must be ignored when receiving OTLP/JSON
    (#2816)
  • Add OTLP exporter user agent to the spec compliance matrix
    (#2842).

SDK Configuration

  • Add the OTEL_SDK_DISABLED environment variable to the SDK configuration.
    (2679)
  • Add the definition of a Boolean environment variable
    (#2755).

Telemetry Schemas

  • No changes.

Common

  • No changes.

New Contributors

Full Changelog: v1.13.0...v1.14.0

Release v1.13.0

19 Sep 16:38
59073d8
Compare
Choose a tag to compare

v1.13.0 (2022-09-19)

Traces

  • Clarify the return of Export(batch) in the Batch Span Processor and exporter concurrency (#2452)
  • Clarify that Context should not be mutable when setting a span (#2637)
  • Clarify that ForceFlush is a required method on SpanExporter interface (#2654)

Metrics

  • Add experimental OTEL_EXPORTER_OTLP_DEFAULT_HISTOGRAM_AGGREGATION variable for
    configuring default histogram aggregation of OTLP metric exporter (#2619)
  • Clarify async instrument callback identity (#2538)
  • Prometheus export: Only monotonic sum are counters (with _total) (#2644)
  • [OM/OTLP] Use _created for StartTimeUnixNano and vice-versa (#2645)
  • Prometheus compatibility: use target_info metric instead of "target" info MF (#2701)
  • Add optional Zero Threshold for Exponential Histograms to the metrics data model (#2665)
  • Change the inclusivity of exponential histogram bounds (#2633)
  • Add process.threads host metric semantic convention. (#2705).

Logs

  • Update log SDK to allow log processors to mutate log records (#2681).
  • Add experimental Events and Logs API specification (#2676)
  • Align log SDK and API component naming (#2768).
  • Add the signal-specific OTEL_EXPORTER_OTLP_LOGS_* environment variables (#2782).

Resource

  • Update the version of the W3C Baggage specification used for OTEL_RESOURCE_ATTRIBUTES (#2670)

Semantic Conventions

  • Add net.app.protocol.* attributes (#2602)
  • Add network metrics to process semantic conventions (#2556)
  • Adopt attribute requirement levels in semantic conventions (#2594)
  • Add semantic conventions for GraphQL (#2456)
  • Change cloudevents.event_spec_version and cloudevents.event_type level from required to recommended (#2618)
  • Change faas.document.time and faas.time level from required to recommended (#2627)
  • Add rpc.grpc.status_code to RPC metric semantic conventions (#2604)
  • Add http.*.*.size metric semantic conventions for tracking size of requests
    / responses for http servers / clients (#2588)
  • BREAKING: rename net.peer.ip to net.sock.peer.addr, net.host.ip to net.sock.host.addr,
    net.peer.name to net.sock.peer.name for socket-level instrumentation.
    Define socket-level attributes and clarify logical peer and host attributes meaning (#2594)
  • Add semantic conventions for JVM buffer pool usage (#2650)
  • Improve the definition of state attribute for metric system.network.connections (#2663)
  • Add process.parent_pid attribute for use in reporting parent process id (PID) (#2691)
  • Add OpenSearch to db.system semantic conventions (#2718)
  • Clarify when "count" is used instead of pluralization (#2613)
  • Add the convention 'type' to the YAML definitions for all existing semantic conventions (#2693)
  • Remove alternative attribute sets from HTTP semantic conventions (#2469)

OpenTelemetry Protocol

  • Add support for partial success in an OTLP export response (#2696)

SDK Configuration

  • Mark OTEL_METRIC_EXPORT_INTERVAL, OTEL_METRIC_EXPORT_TIMEOUT
    environment variables as Stable (#2658)

Telemetry Schemas

  • Introduce "split" metric schema transformation (#2653)

Common

  • Introduce Instrumentation Scope Attributes (#2579)
    • Define Instrumentation Scope Attributes as non identifiers (#2789)

New Contributors

Full Changelog: v1.12.0...v1.13.0

Release v1.12.0

10 Jun 14:10
ae87c81
Compare
Choose a tag to compare

v1.12.0 (2022-06-10)

Context

  • No changes.

Traces

  • No changes.

Metrics

  • Clarify that API support for multi-instrument callbacks is permitted.
    (#2263).
  • Clarify SDK behavior when view conflicts are present
    (#2462).
  • Clarify MetricReader.Collect result
    (#2495).
  • Specify optional support for an Exponential Histogram Aggregation.
    (#2252)
  • Update Prometheus Sums for handling delta counter case
    (#2570).
  • Supplementary guidance for metrics additive property
    (#2571).

Logs

  • OTLP Logs are now Stable
    (#2565)

Resource

  • No changes.

Semantic Conventions

  • Add semantic conventions for JVM CPU metrics
    (#2292)
  • Add details for FaaS conventions for Azure Functions and allow FaaS/Cloud
    resources as span attributes on incoming FaaS spans
    (#2502)
  • Define attribute requirement levels
    (#2522)
  • Initial addition of Kafka metrics
    (#2485).
  • Add semantic conventions for Kafka consumer metrics
    (#2536)
  • Add database connection pool metrics semantic conventions
    (#2273).
  • Specify how to obtain a Ruby thread's id
    (#2508).
  • Refactor jvm classes semantic conventions
    (#2550).
  • Add browser.* attributes
    (#2353).
  • Change JVM runtime metric process.runtime.jvm.memory.max
    to process.runtime.jvm.memory.limit
  • (#2605).

Compatibility

  • No changes.

OpenTelemetry Protocol

  • No changes.

SDK Configuration

  • No changes.

Telemetry Schemas

  • No changes.

Common

  • Move non-otlp.md to common directory
    (#2587).

Release v1.11.0

04 May 22:05
ef5dc5f
Compare
Choose a tag to compare

v1.11.0 (2022-05-04)

Context

  • No changes.

Traces

  • No changes.

Metrics

  • Clarify that API support for multi-instrument callbacks is permitted.
    (#2263).
  • Drop histogram aggregation, default to explicit bucket histogram
    (#2429)
  • Clarify SDK behavior when view conflicts are present
    (#2462).
  • Add support for exemplars on OpenMetrics counters
    (#2483)
  • Clarify MetricReader.Collect result
    (#2495).
  • Add database connection pool metrics semantic conventions
    (#2273).

Logs

  • Update com.google.* to gcp.* in logs data model
    (#2514).

Resource

  • No changes.

Semantic Conventions

  • Note added that net.peer.name SHOULD NOT be set if capturing it would require an
    extra reverse DNS lookup. And moved net.peer.name from common http attributes to
    just client http attributes.
    (#2446)
  • Add net.host.name and net.host.ip conventions for rpc server spans.
    (#2447)
  • Allow all metric conventions to be either synchronous or asynchronous.
    (#2458
  • Update JVM metrics with JMX Gatherer values
    (#2478)
  • Add HTTP/3
    (#2507)
  • Map SunOS to solaris for os.type resource attribute
    (#2509)

Compatibility

  • No changes.

OpenTelemetry Protocol

  • Clarify gRPC insecure option (#2476)
  • Specify that OTLP/gRPC clients should retry on RESOURCE_EXHAUSTED code only if the server signals backpressure to indicate a possible recovery.
    (#2480)

SDK Configuration

  • No changes.

Telemetry Schemas

  • No changes.

Common