Skip to content

Releases: open-telemetry/opentelemetry-specification

Release v1.10.0

01 Apr 15:16
0b4daf7
Compare
Choose a tag to compare

v1.10.0 (2022-04-01)

Context

  • No changes.

Traces

  • Introduce the concept of Instrumentation Scope to replace/extend Instrumentation
    Library. The Tracer is now associated with Instrumentation Scope
    (#2276).
  • Add OTEL_EXPORTER_JAEGER_PROTOCOL environment variable to select the protocol
    used by the Jaeger exporter.
    (#2341)
  • Add documentation REQUIREMENT for adding attributes at span creation.
    (#2383).

Metrics

  • Initial Prometheus <-> OTLP datamodel specification
    (#2266)
  • Introduce the concept of Instrumentation Scope to replace/extend Instrumentation
    Library. The Meter is now associated with Instrumentation Scope
    (#2276).
  • Specify the behavior of duplicate instrumentation registration in the API, specify
    duplicate conflicts in the data model, specify how the SDK is meant to report and
    assist the user when these conflicts arise.
    (#2317).
  • Clarify that expectations for user callback behavior are documentation REQUIREMENTs.
    (#2361).
  • Specify how to handle prometheus exemplar timestamp and attributes
    (#2376)
  • Clarify that the periodic metric reader is the default metric reader to be
    paired with push metric exporters (OTLP, stdout, in-memory)
    (#2379).
  • Convert OpenMetrics Info and StateSet metrics to non-monotonic sums
    (#2380)
  • Clarify that MetricReader has one-to-one mapping to MeterProvider.
    (#2406).
  • For prometheus metrics without sums, leave the sum unset
    (#2413)
  • Specify default configuration for a periodic metric reader that is associated with
    the stdout metric exporter.
    (#2415).
  • Clarify the manner in which aggregation and temporality preferences
    are encoded via MetricReader parameters "on the basis of instrument
    kind". Rename the environment variable
    OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE used to set the
    preference to be used when auto-configuring an OTLP Exporter,
    defaults to CUMULATIVE, with DELTA an option that makes Counter,
    Asynchronous Counter, and Histogram instruments choose Delta
    temporality by default.
    (#2404).
  • Clarify that instruments are enabled by default, even when Views are configured.
    Require support for the match-all View expression having name=* to support
    disabling instruments by default.
    (#2417).
  • Mark Metrics SDK spec as Mixed, with most components moving to Stable, while
    Exemplar remaining Feature-freeze.
    (#2304)
  • Clarify how metric metadata and type suffixes are handled
    (#2440)

Logs

  • Add draft logging library SDK specification
    (#2328)
  • Add InstrumentationScope/Logger Name to log data model
    (#2359)
  • Remove flush method on LogEmitter
    (#2405)
  • Declare Log Data Model Stable
    (#2387)

Resource

  • No changes.

Semantic Conventions

  • Define span structure for HTTP retries and redirects.
    (#2078)
  • Changed rpc.system to an enum (allowing custom values), and changed the
    rpc.system value for .NET WCF from wcf to dotnet_wcf.
    (#2377)
  • Define JavaScript runtime semantic conventions.
    (#2290)
  • Add semantic conventions for CloudEvents.
    (#1978)
  • Add process.cpu.utilization metric.
    (#2436)
  • Add rpc.system value for Apache Dubbo.
    (#2453)

Compatibility

  • Mark the OpenTracing compatibility section as stable.
    (#2327)

OpenTelemetry Protocol

  • Add experimental JSON serialization format
    (#2235)
  • Parameters for private key and its chain added
    (#2370)

SDK Configuration

  • No changes.

Telemetry Schemas

  • No changes.

Common

  • Describe how to convert non-string primitives for protocols which only support strings
    (#2343)
  • Add "Mapping Arbitrary Data to OTLP AnyValue" document.
    (#2385)

Release v1.9.0

14 Feb 15:29
9ffad66
Compare
Choose a tag to compare

v1.9.0 (2022-02-14)

Context

  • No changes.

Traces

  • Clarify StartSpan returning the parent as a non-recording Span when no SDK is in use
    (#2121)
  • Align Jaeger remote sampler endpoint with OTLP endpoint.
    (#2246)
  • Add JaegerRemoteSampler spec.
    (#2222)
  • Add support for probability sampling in the OpenTelemetry tracestate entry and
    add optional specification for consistent probability sampling.
    (#2047)
  • Change description and default value of OTEL_EXPORTER_JAEGER_ENDPOINT env var
    to point to the correct HTTP port and correct description of OTEL_TRACES_EXPORTER
    (#2333).

Metrics

  • Rename None aggregation to Drop.
    (#2101)
  • Add details to the Prometheus Exporter requirements.
    (#2124)
  • Consolidate the aggregation/aggregator term.
    (#2153)
  • Remove the concept of supported temporality, keep preferred.
    (#2154)
  • Rename extra dimensions to extra attributes.
    (#2162)
  • Mark In-memory, OTLP and Stdout exporter specs as Stable.
    (#2175)
  • Remove usage of baggage in View from initial SDK specification.
    (#2215)
  • Add to the supplemental guidelines for metric SDK authors text about implementing
    attribute-removal Views for asynchronous instruments.
    (#2208)
  • Clarify integer count instrument units.
    (#2210)
  • Use UCUM units in Metrics Semantic Conventions.
    (#2199)
  • Add semantic conventions for process metrics.
    #2032
  • Changed default Prometheus Exporter host from 0.0.0.0 to localhost.
    (#2282)
  • Clarified wildcard and predicate support in metrics SDK View API.
    (#2325)

Logs

  • Fix attributes names in Google Cloud Logging mapping.
    (#2093)
  • Add OTEL_LOGS_EXPORTER environment variable.
    (#2196)
  • Added ObservedTimestamp to the Log Data Model.
    (#2184)
  • Change mapping for log_name of Google Cloud Logging.
    (#2092)
  • Drop Log name field
    (#2271)

Resource

  • No changes.

Semantic Conventions

  • Align runtime metric and resource namespaces
    (#2112)
  • Prohibit usage of retired names in semantic conventions.
    (#2191)
  • Add device.manufacturer to describe mobile device manufacturers.
    (2100)
  • Change golang namespace to 'go', rather than 'gc'
    (#2262)
  • Add JVM memory runtime semantic
    conventions. (#2272)
  • Add opentracing.ref_type semantic convention.
    (#2297)

Compatibility

  • Simplify Baggage handling in the OpenTracing Shim layer.
    (#2194)
  • State that ONLY error mapping can happen in the OpenTracing Shim layer.
    (#2148)
  • Define the instrumentation library name for the OpenTracing Shim.
    (#2227)
  • Add a Start Span section to the OpenTracing Shim.
    (#2228)

OpenTelemetry Protocol

  • Rename OTEL_EXPORTER_OTLP_SPAN_INSECURE to OTEL_EXPORTER_OTLP_TRACES_INSECURE and
    OTEL_EXPORTER_OTLP_METRIC_INSECURE to OTEL_EXPORTER_OTLP_METRICS_INSECURE
    so they match the naming of all other OTLP environment variables.
    (#2240)

SDK Configuration

  • No changes.

Telemetry Schemas

  • No changes.

Release v1.8.0

12 Nov 19:43
5d04916
Compare
Choose a tag to compare

v1.8.0 (2021-11-12)

Context

  • Add a section for OTel specific values in TraceState.
    (#1852)
  • Add none as a possible value for OTEL_PROPAGATORS to disable context propagation.
    (#2052)

Traces

  • No changes.

Metrics

  • Add optional min / max fields to histogram data model.
    (#1915,
    #1983)
  • Add exponential histogram to the metrics data model.
    (#1935)
  • Add clarifications on how to handle numerical limits.
    (#2007)
  • Add environment variables for Periodic exporting MetricReader.
    (#2038)
  • Specify that the SDK must support exporters to access meter information.
    (#2040)
  • Add clarifications on how to determine aggregation temporality.
    (#2013,
    #2032)
  • Mark Metrics API spec as Stable.
    (#2104)
  • Clarify, fix and expand documentation sections:
    (#1966),
    (#1981),
    (#1995),
    (#2002),
    (#2010)

Logs

  • Fix Syslog severity number mapping in the example.
    (#2091)
  • Add log.* attributes.
    (#2022)

Resource

  • No changes.

Semantic Conventions

  • Add k8s.container.restart_count Resource attribute.
    (#1945)
  • Add "IBM z/Architecture" (s390x) to host.arch
    (#2055)
  • BREAKING: Remove db.cassandra.keyspace and db.hbase.namespace, and clarify db.name
    (#1973)
  • Add AWS App Runner as a cloud platform
    (#2004)
  • Add Tencent Cloud as a cloud provider.
    (#2006)
  • Don't set Span.Status for 4xx http status codes for SERVER spans.
    (#1998)
  • Add attributes for Apache RocketMQ.
    (#1904)
  • Define http tracing attributes provided at span creation time
    (#1916)
  • Change meaning and discourage use of faas.trigger for FaaS clients (outgoing).
    (#1921)
  • Clarify difference between container.name and k8s.container.name
    (#1980)

Compatibility

  • No changes.

OpenTelemetry Protocol

  • Clarify default for OTLP endpoint should, not must, be https
    (#1997)
  • Specify the behavior of the OTLP endpoint variables for OTLP/HTTP more strictly
    (#1975,
    #1985)
  • Make OTLP/HTTP the recommended default transport (#1969)

SDK Configuration

  • Unset and empty environment variables are equivalent.
    (#2045)

Telemetry Schemas

  • Added telemetry schemas documents to the specification (#2008)

Release v1.7.0

30 Sep 14:28
1335892
Compare
Choose a tag to compare

v1.7.0 (2021-09-30)

Context

  • No changes.

Traces

  • Prefer global user defined limits over model-specific default values. (#1893)
  • Generalize the "message" event to apply to all RPC systems not just gRPC (#1914)

Metrics

Logs

  • No changes.

Resource

  • Exempt Resource from attribute limits. (#1892)

Semantic Conventions

  • BREAKING: Change enum member IDs to lowercase without spaces, not starting with numbers.
    Change values of net.host.connection.subtype to match. (#1863)
  • Lambda instrumentations should check if X-Ray parent context is valid (#1867)
  • Update YAML definitions for events (#1843):
    • Mark exception as semconv type "event".
    • Add YAML definitions for grpc events.
  • Add messaging.consumer_id to differentiate between message consumers. (#1810)
  • Clarifications for http.client_ip and http.host. (#1890)
  • Add HTTP request and response headers semantic conventions. (#1898)

Compatibility

  • No changes.

OpenTelemetry Protocol

  • Add environment variables for configuring the OTLP exporter protocol (grpc, http/protobuf, http/json) (#1880)
  • Allow implementations to use their own default for OTLP compression, with none denotating no compression (#1923)
  • Clarify OTLP server components MUST support none/gzip compression (#1955)
  • Change OTLP/HTTP port from 4317 to 4318 (#1970)

SDK Configuration

  • Change default value for OTEL_EXPORTER_JAEGER_AGENT_PORT to 6831. (#1812)

Release v1.6.1

25 Aug 16:50
Compare
Choose a tag to compare

v1.6.1 (2021-08-25)

This is a patch release on the previous 1.6.0 release, fixing the issue below. Users SHOULD NOT use 1.6.0.

Semantic Conventions

BREAKING: Change enum member IDs to lowercase without spaces, not starting with numbers. Change values of net.host.connection.subtype to match. (#1863)

Release v1.6.0

07 Aug 00:56
d139f05
Compare
Choose a tag to compare

v1.6.0 (2021-08-06)

Users SHOULD NOT use this release anymore, but refer to the 1.6.1 release, which contains a semantic conventions bug fix.

Context

  • No changes.

Traces

  • Add generalized attribute count and attribute value length limits and relevant
    environment variables.
    (#1130)
  • Adding environment variables for event and link attribute limits. (#1751)
  • Adding SDK configuration for Jaeger remote sampler (#1791)

Metrics

  • Metrics API specification Feature-freeze.
    (#1833)
  • Remove MetricProcessor from the SDK spec (for now)
    (#1840)

Logs

  • No changes.

Resource

  • No changes.

Semantic Conventions

  • Add mobile-related network state: net.host.connection.type, net.host.connection.subtype & net.host.carrier.* #1647
  • Adding alibaba cloud as a cloud provider.
    (#1831)

Compatibility

  • No changes.

OpenTelemetry Protocol

  • Allow for OTLP/gRPC exporters to handle endpoint configuration without a scheme while still requiring them to support an endpoint configuration that includes a scheme of http or https. Reintroduce the insecure configuration option for OTLP/gRPC exporters. (#1729)
  • Adding requirement to implement at least one of two transports: grpc or http/protobuf.
    (#1790)

SDK Configuration

  • No changes.

Release v1.5.0

08 Jul 14:34
152a50a
Compare
Choose a tag to compare

v1.5.0 (2021-07-08)

Context

  • No changes.

Traces

  • Adding environment variables for event and link attribute limits.
    (#1751)
  • Clarify some details about span kind and the meanings of the values.
    (#1738)
  • Clarify meaning of the Certificate File option.
    (#1803)

Metrics

  • Clarify the limit on the instrument unit.
    (#1762)

Logs

  • Declare OTLP Logs Beta. (#1741)

Resource

  • No changes.

Semantic Conventions

  • Clean up FaaS semantic conventions, add aws.lambda.invoked_arn.
    (#1781)
  • Remove rpc.jsonrpc.method, clarify that rpc.method should be used instead.
    (#1748)

Compatibility

  • No changes.

OpenTelemetry Protocol

  • No changes.

SDK Configuration

  • Allow selecting multiple exporters via OTEL_TRACES_EXPORTER and OTEL_METRICS_EXPORTER
    by using a comma-separated list. (#1758)

Release v1.4.0

07 Jun 22:17
ea26ef7
Compare
Choose a tag to compare

v1.4.0 (2021-06-07)

Context

  • No changes.

Traces

  • Add schema_url support to Tracer. (#1666)
  • Add Dropped Links Count to non-otlp exporters section (#1697)
  • Add note about reporting dropped counts for attributes, events, links. (#1699)

Metrics

Logs

  • No changes.

Resource

  • Add schema_url support to Resource. (#1692)
  • Clarify result of Resource merging and ResourceDetector aggregation in case of error. (#1726)

Semantic Conventions

  • Add JSON RPC specific conventions (#1643).
  • Add Memcached to Database specific conventions (#1689).
  • Add semantic convention attributes for the host device and added OS name and version (#1596).
  • Add CockroachDB to Database specific conventions (#1725).

Compatibility

  • No changes.

OpenTelemetry Protocol

  • No changes.

SDK Configuration

  • Add OTEL_SERVICE_NAME environment variable. (#1677)

Release v1.3.0

05 May 17:49
6763ad6
Compare
Choose a tag to compare

v1.3.0 (2021-05-05)

Context

  • No changes.

Traces

  • Get Tracer should use an empty string if the specified name is null. (#1654)
  • Clarify how to record dropped attribute count in non-OTLP formats. (#1662)

Metrics

  • Expand description of Event Model and Instruments. (#1614)
  • Flesh out metric identity and single-write principle. (#1574)
  • Expand Sum metric description in the data model and delta-to-cumulative handling. (#1618)
  • Remove the "Func" name, use "Asynchronous" and "Observable". (#1645)
  • Add details to UpDownCounter API. (#1665)
  • Add details to Histogram API. (#1657)

Logs

  • Clarify "key/value pair list" vs "map" in Log Data Model. (#1604)

Semantic Conventions

  • Fix the inconsistent formatting of semantic convention enums. (#1598)
  • Add details for filling resource for AWS Lambda. (#1610)
  • Add already specified messaging.rabbitmq.routing_key span attribute key to the respective YAML file. (#1651)
  • Clarify usage of "otel." attribute namespace. (#1640)
  • Add possibility to disable db.statement via instrumentation configuration. (#1659)

Compatibility

  • No changes.

OpenTelemetry Protocol

  • Fix incorrect table of transient errors. (#1642)
  • Clarify that 64 bit integer numbers are decimal strings in OTLP/JSON. (#1637)

SDK Configuration

  • Add OTEL_EXPORTER_JAEGER_TIMEOUT environment variable. (#1612)
  • Add OTEL_EXPORTER_ZIPKIN_TIMEOUT environment variable. (#1636)

Release v1.2.0

14 Apr 15:45
b46bcab
Compare
Choose a tag to compare

v1.2.0 (2021-04-14)

Context

  • Clarify composite TextMapPropagator method required and optional arguments. (#1541)
  • Clarify B3 requirements and configuration. (#1570)

Traces

  • Add ForceFlush to Span Exporter interface (#1467)
  • Clarify the description for the TraceIdRatioBased sampler needs to include the sampler's sampling ratio. (#1536)
  • Define the fallback tracer name for invalid values.
    (#1534)
  • Clarify non-blocking requirement from span API End. (#1555)
  • Remove the Included Propagators section from trace API specification that was a duplicate of the Propagators Distribution of the context specification. (#1556)
  • Remove the Baggage API propagator notes that conflict with the API Propagators Operations section and fix #1526. (#1575)

Metrics

  • Adds new metric data model specification (#1512)

Semantic Conventions

  • Add semantic conventions for AWS SDK operations and DynamoDB (#1422)
  • Add details for filling semantic conventions for AWS Lambda (#1442)
  • Update semantic conventions to distinguish between int and double (#1550)
  • Add semantic convention for AWS ECS task revision (#1581)

Compatibility

  • Add initial OpenTracing compatibility section.
    (#1101)