Releases: open-telemetry/opentelemetry-specification
Releases · open-telemetry/opentelemetry-specification
Release v1.20.0
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)
tonet.protocol.(name|version)
(#3272) - Replace
http.flavor
withnet.protocol.(name|version)
(#3272) - Metric requirement levels are now stable
(#3271) - BREAKING: remove
messaging.destination.kind
andmessaging.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.*
andtelemetry.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
- @codyborders made their first contribution in #3305
- @JamieDanielson made their first contribution in #3292
- @sourabh1007 made their first contribution in #3097
- @AlexanderWert made their first contribution in #3251
- @Kielek made their first contribution in #3348
- @electrum made their first contribution in #3347
- @avzis made their first contribution in #3127
Release v1.19.0
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
tonon_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
, thennet.peer.name
SHOULD be the IP addressx.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
touser_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
- @martinknechtel made their first contribution in #3159
- @joshcarp made their first contribution in #3116
- @asafm made their first contribution in #3184
- @moonbox3 made their first contribution in #3121
- @haddasbronfman made their first contribution in #3050
- @braydonk made their first contribution in #3207
Release v1.18.0
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
togcp_openshift
to match the existingcloud.provider
prefix.
(#3095) - Changes http server span names from
{http.route}
to{http.method} {http.route}
(when route is available), and fromHTTP {http.method}
to{http.method}
(when
route is not available).
Changes http client span names fromHTTP {http.method}
to{http.method}
.
(#3165) - Mark
http.server.duration
andhttp.client.duration
metrics as required, and mark
all other HTTP metrics as optional.
#3158 - Add
net.host.port
tohttp.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
- @mrblonde91 made their first contribution in #3105
- @khanhntd made their first contribution in #3059
Release v1.17.0
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. RenameOTEL_EXPORTER_OTLP_METRICS_DEFAULT_HISTOGRAM_AGGREGATION
value fromexponential_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: renamemessaging.consumer_id
tomessaging.consumer.id
,
messaging.destination
tomessaging.destination.name
,
messaging.temp_destination
tomessaging.destination.temporary
,
messaging.destination_kind
tomessaging.destination.kind
,
messaging.message_id
tomessaging.message.id
,
messaging.protocol
tonet.app.protocol.name
,
messaging.protocol_version
,net.app.protocol.version
,
messaging.conversation_id
tomessaging.message.conversation_id
,
messaging.message_payload_size_bytes
tomessaging.message.payload_size_bytes
,
messaging.message_payload_compressed_size_bytes
tomessaging.message.payload_compressed_size_bytes
,
messaging.rabbitmq.routing_key
:messaging.rabbitmq.destination.routing_key
,
messaging.kafka.message_key
tomessaging.kafka.message.key
,
messaging.kafka.consumer_group
tomessaging.kafka.consumer.group
,
messaging.kafka.partition
tomessaging.kafka.destination.partition
,
messaging.kafka.tombstone
tomessaging.kafka.message.tombstone
,
messaging.rocketmq.message_type
tomessaging.rocketmq.message.type
,
messaging.rocketmq.message_tag
tomessaging.rocketmq.message.tag
,
messaging.rocketmq.message_keys
tomessaging.rocketmq.message.keys
;
Removedmessaging.url
;
Renamedsend
operation topublish
;
Splitdestination
andsource
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
toalways_on
,
always_off
andtrace_based
.
(#2919)
Telemetry Schemas
- No changes.
Common
- No changes.
New Contributors
- @utezduyar made their first contribution in #3020
- @newly12 made their first contribution in #3028
- @jordigh made their first contribution in #3029
- @v-electrolux made their first contribution in #3011
- @robbkidd made their first contribution in #3052
- @martincostello made their first contribution in #3108
Full Changelog: v1.16.0...v1.17.0
Release v1.16.0
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>
andrpc.response.metadata.<key>
to
rpc.grpc.request.metadata.<key>
andrpc.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
v1.15.0 (2022-11-09)
Context
- No changes.
Traces
- Rename
http.retry_count
tohttp.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 toLogRecordProcessor#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
- @tuhao1020 made their first contribution in #2828
- @majorgreys made their first contribution in #2875
- @astencel-sumo made their first contribution in #2827
- @samimusallam made their first contribution in #2874
Full Changelog: v1.14.0...v1.15.0
Release v1.14.0
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
andbrowser.language
resource attributes
(#2761)
Semantic Conventions
- Add
process.context_switches
, andprocess.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 ofhttp.target
for servers, drophttp.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
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 onSpanExporter
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
andcloudevents.event_type
level fromrequired
torecommended
(#2618) - Change
faas.document.time
andfaas.time
level fromrequired
torecommended
(#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
tonet.sock.peer.addr
,net.host.ip
tonet.sock.host.addr
,
net.peer.name
tonet.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 metricsystem.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
- @laurit made their first contribution in #2456
- @ahayworth made their first contribution in #2642
- @gouthamve made their first contribution in #2644
- @utpilla made their first contribution in #2583
- @breedx-splk made their first contribution in #2659
- @evan-bradley made their first contribution in #2669
- @ppatierno made their first contribution in #2694
- @CleanCut made their first contribution in #2693
- @davidmirza408 made their first contribution in #2691
- @foadnh made their first contribution in #2699
- @lgfa29 made their first contribution in #2670
- @sharp-pixel made their first contribution in #2718
- @pantuza made their first contribution in #2723
- @kovrus made their first contribution in #2745
- @scheler made their first contribution in #2676
Full Changelog: v1.12.0...v1.13.0
Release v1.12.0
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
toprocess.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
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.*
togcp.*
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 movednet.peer.name
from common http attributes to
just client http attributes.
(#2446) - Add
net.host.name
andnet.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
- Define semantic conventions and instrumentation stability.
(#2180) - Loosen requirement for a major version bump
([#2510](https://github.com/open-t