Please update changelog as part of any significant pull request. Place short description of your change into "Unreleased" section. As part of release process content of "Unreleased" section content will generate release notes for the release.
- Deprecate Jaeger propagator and make propagator implementation optional. (#4827)
- Deprecate OT Trace propagator and make propagator implementation optional. (#4851)
- Add normative language to the Metrics API/SDK spec concurrency requirements. (#4868)
- Add optional
Exceptionparameter to Emit LogRecord. (#4824) - Add normative language to the Logging API/SDK spec concurrency requirements. (#4885)
- Refine the handling of OTEL_RESOURCE_ATTRIBUTES. (#4856)
- Add string representation guidance for complex attribute value types (byte arrays, empty values, arrays, and maps) for non-OTLP protocols. (#4485)
- Stabilize Prometheus Counter to OTLP Sum transformation. (#4862)
- Stabilize Prometheus Gauge to OTLP Gauge transformation. (#4871)
- Declarative configuration: rename
ComponentProvidertoPluginComponentProvider,CreatePlugintoCreateComponentin effort to use consistent vocabulary (#4806)
- Stabilize part of
EnabledSDK for synchronous instruments. (#4787)
- Add optional Ergonomic API. (#4741)
- Declarative configuration: clarify default behavior and validation
requirements of
createandparse. (#4780) - Declarative configuration: add optional programmatic customization to
create, and add related supplemental guidelines. (#4777) - Declarative configuration: add links between SDK extension plugins and corresponding declarative config types. (#4802)
- Declarative configuration: clarify Registry ComponentProvider
typeparameter (#4799) - Declarative configuration: Update instrumentation config behavior to return empty object when not set (#4817)
- Swap Tracer/Meter/LoggerConfig
disabledforenabledto avoid double negatives (#4823)
- Stabilize complex
AnyValueattribute value types and related attribute limits. (#4794)
- Make the W3C randomness flag required. (#4761)
- Deprecate Zipkin exporter document and make exporter implementation optional. (#4715)
- Add spec for
AlwaysRecordsampler (#4699)
- Stabilize
EnabledAPI for synchronous instruments. (#4746) - Allow instrument
Enabledimplementation to have additional optimizations and features. (#4747)
- Stabilize
LogRecordProcessor.Enabled. (#4717)
- Clarifies that guidance related to boolean environment variables is not applicable to other configuration interfaces. (#4723)
AlignedHistogramBucketExemplarReservoirSHOULD use a time-weighted algorithm. (#4678)
- Document the profiles signal. (#4685)
- Extend the set of attribute value types to support more complex data structures. (#4651)
- Restore
TraceIdRatioBasedand give it a deprecation timeline. Update recommended warnings based on feedback in issue #4601. (#4627) - Changes of
TracerConfig.disabledMUST be eventually visible. (#4645) - Remove text related to the former expermental probability sampling specification. (#4673)
- Changes of
MeterConfig.disabledMUST be eventually visible. (#4645)
- Add minimum_severity and trace_based logger configuration parameters. (#4612)
- Changes of
LoggerConfig.disabledMUST be eventually visible. (#4645)
- Specify entity information via an environment variable. (#4594)
- OTLP Exporters may allow devs to prepend a product identifier in
User-Agentheader. (#4560) ⚠️ IMPORTANT: Extending the set of standard attribute value types is no longer a breaking change. (#4614)
- Clarify in Composite Samplers OTEP the unreliable threshold case. (#4569)
- Improve concurrency safety description of
LogRecordProcessor.OnEmit. (#4578) - Clarify that
SeverityNumbervalues are used when comparing severities. (#4552)
- Mention entity references in the stability guarantees. (#4593)
- Clarify protocol defaults on specification. (#4585)
- Introduced flexible escaping of characters that are discouraged by Prometheus Conventions in Prometheus exporters. (#4533)
- Introduced flexible addition of unit/type related suffixes in Prometheus exporters. (#4533)
- Define the configuration option "Translation Strategies" for Prometheus exporters. (#4533)
- Define conversion of Prometheus native histograms to OpenTelemetry exponential histograms. (#4561)
- Clarify what to do when scope attribute conflicts with name, version and schema URL. (#4599)
- Enum values provided via environment variables SHOULD be interpreted in a case-insensitive manner. (#4576)
- Define sampling threshold field in OpenTelemetry TraceState; define the behavior of TraceIdRatioBased sampler in terms of W3C Trace Context Level 2 randomness. (#4166)
- Define CompositeSampler implementation and built-in ComposableSampler interfaces. (#4466)
- Define how SDK implements
Tracer.Enabled. (#4537)
- Stabilize
Event Nameparameter ofLogger.Enabled. (#4534) - Stabilize SDK and No-Op
Logger.Enabled. (#4536) SeverityNumber=0MAY be used to represent an unspecified value. (#4535)
- Clarify expectations about Prometheus content negotiation for metric names. (#4543)
- Add Supplementary Guidelines for environment variables as context carrier specification. (#4548)
- Extend attributes to support complex values. (#4485)
- Update spec to comply with OTEP-232. (#4529)
- Prometheus receiver can expect
otel_scope_schema_urlandotel_scope_[attribute]labels on all metrics. (#4505) - Prometheus receiver no longer expects
otel_scope_infometric. (#4505) - Prometheus exporter adds
otel_scope_schema_urlandotel_scope_[attribute]labels on all metrics. (#4505) - Prometheus exporter no longer exports
otel_scope_infometric. (#4505)
- Define rules for setting identifying attributes. (#4498)
- Define rules for entity-resource referencing model. (#4499)
- Move Instrumentation Scope definition from glossary to a dedicated document and use normative language. (#4488)
- Drop reference to binary
Propagator. (#4490)
- Add optional
Event Nameparameter toLogger.EnabledandLogRecordProcessor.Enabled. (#4489)
- Add experimental resource detector name. (#4461)
- OTEP: Span Event API deprecation plan. (#4430)
- Add context propagation through Environment Variables specification. (#4454)
- On Propagators API, stabilize
GetAllon theTextMapExtract. (#4472)
- Define sampling threshold field in OpenTelemetry TraceState; define the behavior of TraceIdRatioBased sampler in terms of W3C Trace Context Level 2 randomness. (#4166)
- Clarify SDK behavior for Instrument Advisory Parameter. (#4389)
- Add
Enabledopt-in operation to theLogRecordProcessor. (#4439) - Stabilize
Logger.Enabled. (#4463) - Stabilize
EventName. (#4475) - Move implementation details of the
Observed Timestampto the Log SDK. (#4482)
- Add context (baggage) propagation through Environment Variables specification. (#4454)
- Add Datamodel for Entities. (#4442)
- Convert declarative config env var substitution syntax to ABNF. (#4448)
- List declarative config supported SDK extension plugin interfaces. (#4452)
- Clarify STDOUT exporter format is unspecified. (#4418)
- Clarify the metrics design goal, scope out StatsD client support. (#4445)
- Clarify STDOUT exporter format is unspecified. (#4418)
- Clarify that it is allowed to directly use Logs API. (#4438)
- Clarify STDOUT exporter format is unspecified. (#4418)
- Add Advanced Processing to Logs Supplementary Guidelines. (#4407)
- Composite Head Samplers. (#4321)
- Deprecate
exception.escapedattribute, add link to in-development semantic-conventions on how to record errors across signals. (#4368) - Define randomness value requirements for W3C Trace Context Level 2. (#4162)
- Define how SDK implements
Logger.Enabled. (#4381) - Logs API should have functionality for reusing Standard Attributes. (#4373)
- Define syntax for escaping declarative configuration environment variable references. (#4375)
- Resolve various declarative config TODOs. (#4394)
- Remove the deprecated Events API and SDK in favor of having Events support in the Logs API and SDK. (#4353)
- Remove
Logger's Log Instrumentation operations. (#4352) - Make all
Loggeroperations user-facing. (#4352)
- Clarify that implementations should interpret timeout environment variable values of zero as no limit (infinity). (#4331)
- Adds optional
GetAllmethod toGetterin Propagation API, allowing for the retrieval of multiple values for the same key. #4295
- Add in-development support for
otlp/stdoutexporter viaOTEL_TRACES_EXPORTER. (#4183) - Remove the recommendation to not synchronize access to
TracerConfig.disabled. (#4310)
- Add in-development support for
otlp/stdoutexporter viaOTEL_METRICS_EXPORTER. (#4183) - Remove the recommendation to not synchronize access to
MeterConfig.disabled. (#4310)
- Add in-development support for
otlp/stdoutexporter viaOTEL_LOGS_EXPORTER. (#4183) - Remove the recommendation to not synchronize access to
LoggerConfig.disabled. (#4310) - Remove the in-development isolating log record processor. (#4301)
- Deprecate Events API and SDK in favor of having Events support in the Logs API and SDK. (#4319)
- Change
event.nameattribute into top-level event name field. (#4320)
- Lay out core principles for Specification changes. (#4286)
- Add core principles for evaluating specification changes. (#4286)
- The open-telemetry/oteps repository was merged into the specification repository. (#4288)
- Simplify the name "Logs Instrumentation API" to just "Logs API". (#4258)
- Rename Log Bridge API to Logs API. Define the existing Logger methods to be Log Bridge Operations. Add EmitEvent to the Logger as an Instrumentation Operation. (#4259)
- Define required attributes for Mappings. (#4197)
- Add requirement to allow extending Stable APIs. (#4270)
- Clarify declarative configuration parse requirements for null vs empty. (#4269)
- Define prototype for proposed features in development. (#4273)
- Make all fields as identifying for Tracer. Previously attributes were omitted from being identifying. (#4161)
- Clarify that
ExportMUST NOT be called by simple and batching processors concurrently. (#4205)
- Make all fields as identifying for Meter. Previously attributes were omitted from being identifying. (#4161)
- Add support for filtering attribute keys for streams via an exclude list. (#4188)
- Clarify that
Enabledonly applies to synchronous instruments. (#4211) - Clarify that applying cardinality limits should be done after attribute filtering. (#4228)
- Mark cardinality limits as stable. (#4222)
- Make all fields as identifying for Logger. Previously attributes were omitted from being identifying. (#4161)
- Define
Enabledparameters forLogger. (#4203) (#4221) - Introduce initial placeholder for the new user-facing Logs API, adding references to existing API's informing of the coming changes while the definition is defined. (#4236)
- Define equality for attributes and collection of attributes. (#4161)
- Update Instrumentation Scope glossary entry with correct identifying fields (#4244)
- Minor clarification on BatchExportingProcessor behavior. (#4164)
- Clarify
SpanKinddescription, extend it to cover links, add examples of nested client spans. (#4178)
- Clarify that
ExportMUST NOT be called by periodic exporting MetricReader concurrently. (#4206)
- Clarify that log record mutations are visible in next registered processors. (#4067)
- Clarify that
ExportMUST NOT be called by simple and batching processors concurrently. (#4173)
- Define instrumentation configuration API. (#4128)
- Mark exemplar filter env variable config as stable. (#4191)
- Update instrumentation library guidance to avoid naming collisions between external and OTel instrumentations. (#4187)
- Add natively instrumented to glossary. (#4186)
- Remove restriction that sampler description is immutable. (#4137)
- Add in-development
OnEndingcallback to SDKSpanProcessorinterface. (#4024)
- Clarify metric reader / metric exporter relationship for temporality preference and default aggregation. Explicitly define configuration options for temporality preference and default aggregation of built-in exporters, and make default values explicit. (#4142)
- Add data point flags to the metric data model. (#4135)
- The SDK MAY provide an operation that makes a deep clone of a
ReadWriteLogRecord. (#4090)
- Clarify no empty string allowed in baggage names. (#4144)
- Clarify Prometheus exporter should have
hostandportconfiguration options. (#4147)
- Require separation of API and SDK artifacts. (#4125)
- Add the in-development isolating log record processor. (#4062)
- Define casing for hex-encoded IDs and mark the "Trace Context in non-OTLP Log Formats" specification stable. (#3909)
- No changes.
- Clarify the trace SDK should log discarded events and links. (#4064)
- Add new in-development
EnabledAPI to theTracer. (#4063)
- Add new in-development
EnabledAPI to meter instruments. (#4063)
- Add the in-development
EnabledAPI to theLogger. (#4020)
- Rename event payload to body. (#4035)
- Add specification for EventLogger and EventLoggerProvider. (#4031)
- Describe the use cases for events in greater detail. (#3969)
- No changes.
- No changes.
- Prometheus: Clarify location of unit suffix within metric names. (#4057)
- No changes.
- OpenTelemetry clients MUST follow SemVer 2.0.0. (#4039)
- Rename "Experimental" to "Development" according to OTEP 0232. (#4061), (#4069)
- Clarify that it is permissible to extend SDK interfaces without requiring a major version bump (#4030)
- Links with invalid SpanContext are recorded. (#3928)
- Change the exemplar behavior to be on by default. (#3994)
- Use normative language for exemplar default aggregations. (#4009)
- Mark Exemplars as stable. (#3870)
- Mark synchronous gauge as stable. (#4019)
- Allow implementations to export duplicate keys in a map as an opt-in option. (#3987)
- Add name suggestion for option to apply resource attributes as metric attributes in Prometheus exporter. (#3837)
- Clarify syntax for environment variable substitution regular expression (#4001)
- Error out on invalid identifiers in environment variable substitution. (#4002)
- Add end to end examples for file configuration (#4018)
- Clarify the schema for YAML configuration files (#3973)
- No changes.
- Remove the Jaeger Exporter. (#3964)
- Clarify that exemplar reservoir default may change in a minor version. (#3943)
- Add option to disable target info metric to Prometheus exporters. (#3872)
- Add synchronous gauge entry to sum monotonic table. (#3977)
- Refine description of Instrumentation Scope. (#3855)
- Clarify that
ReadableLogRecordandReadWriteLogRecordcan be represented using a single type. (#3898) - Fix what can be modified via
ReadWriteLogRecord. (#3907)
- No changes.
- No changes.
- No changes.
- Prometheus compatibility: Clarify naming of the target info metric, and differences between various Prometheus formats. (#3871)
- Prometheus compatibility: Clarify that the service triplet is required to be unique by semantic conventions. (#3945)
- Prometheus: represent Prometheus Info, StateSet and Unknown-typed metrics in OTLP. (#3868)
- Update and reorganize the Prometheus sdk exporter specification. (#3872)
- Define OTEL_EXPERIMENTAL_CONFIG_FILE to ignore other env vars, add env var substitution default syntax. (#3948)
- Clarify environment variable substitution is not recursive (#3913)
- Allow
env:prefix in environment variable substitution syntax. (#3974) - Add simple scope configuration to Tracer, Meter, Logger (experimental). (#3877)
- No changes.
- No changes.
- Specify allowed characters for Baggage keys and values. (#3801)
- Mark the AddLink() operation as stable. (#3887)
- Formalize the interaction between cardinality limit and overflow attribute. (#3912)
- Fix: remove
namefrom LogRecord example in the File Exporter example. (#3886) - Remove implementation detail from Logs Bridge API. (#3884)
- Clarify that logs attributes are a superset of standard attributes. (#3852)
- Add support for empty values. (#3853)
- Mark standard output log record exporter as stable. (#3922)
- Add Provider to the Event API. (#3878)
- No changes.
- No changes.
- No changes.
- No changes.
- Prohibit attribute value from evolving to contain complex types. (#3858)
- Tighten stability requirements for well-known attribute values. (#3879)
- No changes.
- No changes.
- No changes.
- Clarify metric view measurement processing. (#3842)
- Expose
ExemplarReservoiras configuration parameter for views. RemoveExemplarFilteras an interface, now it is only configuration parameter. (#3820)
- Fix
Resourcefield type in Logs Data Model. (#3826) - Remove confusing description from
Bodyfield in Logs Data Model to make it clear the Bridge API must support a structured body. (#3827) - Deconstruct number scalar type to double and signed integer. (#3854)
- Remove use of Object-Oriented term
classin log signal. (#3882)
- No changes.
- Use
TracesData,MetricsDataandLogsDataproto messages for file exporter. (#3809)
- No changes.
- Add file configuration section to spec compliance matrix. (#3804)
- Define mechanism for SDK extension components. (#3802)
- No changes.
- No changes.
- Align definition of Baggage with W3C Specification. (#3800)
- Update OpenTelemetry to Zipkin Transformation to handle attributes from older semantic conventions in a backwards compatible way. (#3794)
- Define experimental MetricFilter as a mechanism to filter collected metrics by the MetricReader (#3566)
- Add optional configuration for Prometheus exporters to optionally remove unit and type suffixes. (#3777)
- Add optional configuration for Prometheus exporters to optionally drop
otel_scope_infometric. (#3796)
- Define file configuration file format and env var substitution (#3744)
- Clarify that attribute keys are case-sensitive. (#3784)
- No changes.
- Stabilize how exceptions are recorded using the Trace SDK. (#3769)
- Add definition for standard output span exporter. (#3740)
- Add optional configuration for Prometheus exporters to promote resource attributes to metric attributes (#3761)
- Clarifications and flexibility in Exemplar specification. (#3760)
- Add definition for standard output log record exporter. (#3741)
- BREAKING: Change
event.namedefinition to includenamespaceand removedevent.domainfrom log event attributes. (#3749) - BREAKING: Refine the arguments of the emit Event API. Instead of accepting
a
LogRecord, the individual arguments are enumerated along with the implementation requirements on how those arguments map toLogRecord. (#3772)
- No changes.
- Clarify HTTP endpoint configuration option handling. (#3739)
- No changes.
- Add
consoleas an exporter type that is supported via environment variable configuration. (#3742)
- No changes.
- No changes.
- No changes.
- Add a new AddLink() operation to Span (experimental). (#3678)
- No changes.
- No changes.
- No changes.
- New exporter implementations do not need to support
OTEL_EXPORTER_OTLP_SPAN_INSECUREandOTEL_EXPORTER_OTLP_METRIC_INSECURE. (#3719)
- No changes.
- Define file configuration parse and create operations. (#3437)
- Add environment variable implementation guidelines. (#3738)
- Rename/replace
(client|server).socket.(address|port)attributes withnetwork.(peer|local).(address|port). (#3713)
- No changes.
- No changes.
ParentBasedsampler is a decorator (not a composite). (#3706)
- Consistently use "advisory parameters" instead of "advice parameters". (#3693)
- Stabilize
ExplicitBucketBoundariesinstrument advisory parameter. (#3694)
- Update two apache access logs mappings. (#3712)
- No changes.
- No changes.
- Prometheus exporters omit empty resources and scopes without attributes. (#3660)
- Fix description of OTEL_ATTRIBUTE_COUNT_LIMIT (#3714)
- Add upgrading and version management documentation (#3695)
- No changes.
- No changes.
- No changes.
- Increase metric name maximum length from 63 to 255 characters. (#3648)
- MetricReader.Collect ignores Resource from MetricProducer.Produce. (#3636)
- Attribute sets not observed during async callbacks are not exported. (#3242)
- Promote MetricProducer specification to feature-freeze. (#3655)
- Add synchronous gauge instrument, clarify temporality selection influence on metric point persistence. (#3540)
- Clarify that advice is non-identifying. (#3661)
- Define the default size of the
SimpleFixedSizeExemplarReservoirto be1. (#3670) - Rename "advice" to "advisory parameters". (#3662)
- Clarify the minimal implementation of a
View'sattribute_keysis an allow-list. (#3680) - Add "/" to valid characters for instrument names (#3684)
- Stabilize the
MetricProducer. (#3685)
- Update GCP data model to use
TraceFlagsinstead ofgcp.trace_sampled. (#3629)
- No changes.
- Fix and clarify definition of "transient error" in the OTLP exporter specification. (#3653)
- OpenTracing Shim: Allow invalid but sampled SpanContext to be returned. (#3471)
- Prometheus: Allow changing metric names by default when translating from Prometheus to OpenTelemetry. (#3679)
- No changes.
- No changes.
- No changes.
- No changes.
- No changes.
- Specify how to handle instrument name conflicts. (#3626)
- Add experimental metric attributes advice API. (#3546)
- Revise the exemplar default reservoirs. (#3627)
- Mark the default aggregation cardinality Experimental in MetricReader. (#3619)
- Mark Metric No-Op API as stable. (#3642)
- MetricProducers are provided as config to MetricReaders instead of through a RegisterProducer operation. (#3613)
- Refine
MetricProvider.ForceFlushand defineForceFlushfor periodic exporting MetricReader. (#3563)
- Clarify how log appender use Scope name and attributes. (#3583)
- Mark No-Op Logs Bridge API as stable. (#3642)
- No changes.
- Prometheus exporters SHOULD provide configuration to disable the addition of
_totalsuffixes. (#3590)
- No changes.
- No changes.
- No changes.
- No changes.
- Refine SDK TracerProvider configuration section. (#3559)
- Make SDK Tracer Creation more normative. (#3529)
- Refine SDK MeterProvider configuration section. (#3522)
- Clarify metric view requirements and recommendations. (#3524)
- Change the view name to be the view's stream configuration name. (#3524)
- Make SDK Meter Creation more normative. (#3529)
- Clarify duplicate instrument registration scope to be a MeterProvider. (#3538)
- Clarify identical instrument definition for SDK. (#3585)
- Refine SDK LoggerProvider configuration section. (#3559)
- Make SDK Logger Creation more normative. (#3529)
- No changes.
- NOTICE: Remove the Jaeger Exporter (#3567)
- Prometheus: Do not add
_totalsuffix if the metric already ends in_total. (#3581) - Prometheus type and unit suffixes are not trimmed by default. (#3580)
- Extract Exemplar section and mark it as Experimental. (#3533)
- No changes.
- No changes.
- No changes.
- No changes.
- Make recommendation to reserve aggregator normative. (#3526)
- No changes.
- No changes.
- No changes.
- Move OTLP specification to github.com/open-telemetry/opentelemetry-proto. (#3454)
- No changes.
- No changes.
- Explain why custom attributes are not recommended to be placed in OTel namespaces. (#3507)
- No changes.
- No changes.
- No changes.
- Add experimental histogram advice API. (#3216)
- Recommended non-prefixed units for metric instrument semantic conventions. (#3312)
- Recommended cardinality limits to protect metrics pipelines against excessive data production from a single instrument. (#2960)
- Specify second unit (
s) and advice bucket boundaries of[]forprocess.runtime.jvm.gc.duration. (#3458) - Add links to the JMX APIs that are the JVM runtime metric sources. (#3463)
- Clarify parameters for emitting a log record. (#3345)
- Drop logger include_trace_context parameter. (#3397)
- Clarify how ObservedTimestamp field is set if unspecified (#3385)
- Mark logs bridge API / SDK as stable. (#3376)
- Mark LogRecord Environment Variables as stable. (#3449)
- The Semantic Conventions have moved to a separate repository github.com/open-telemetry/semantic-conventions. There will be no future semantic conventions release from this repository. (#3489)
- Mark OpenCensus compatibility spec as stable (#3425)
- No changes.
- Lay initial groundwork for file configuration (#3360)
- Move file configuration schema to
opentelemetry-configuration. (#3412) - Move
sdk-configuration.mdandsdk-environment-variables.mdto/specification/configuration/. (#3434)
- No changes.
- Add log entries to specification README.md contents. (#3435)
- Add guidance to use service-supported propagation formats as default for AWS SDK client calls. (#3212)
- No changes.
- 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)
- Clarify that units should use UCUM case sensitive variant. (#3306)
- Remove No-Op instrument and Meter creation requirements. (#3322)
- Fixed attributes requirement level in semantic conventions for hardware metrics (#3258)
- 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)
- No changes.
- 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.flavorwithnet.protocol.(name|version)(#3272) - Metric requirement levels are now stable (#3271)
- BREAKING: remove
messaging.destination.kindandmessaging.source.kind. (#3214, #3348) - Define attributes collected for
cosmosdbby 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.statementto only be collected if there is sanitization. (#3127) - BREAKING: Remove
http.status_codeattribute from thehttp.server.active_requestsmetric. (#3366) - Mark attribute requirement levels as stable (#3368)
- No changes.
- Declare OTLP stable. (#3274)
- No changes.
- No changes.
- No changes.
- No changes.
- No changes.
- Add unit to View's Instrument selection criteria. (#3184)
- Add metric requirement levels "Required", "Recommended", and "Opt-In". (#3237)
- Rename Logs API to Logs Bridge API to prevent confusion. (#3197)
- Move event language from log README to event-api. (#3252)
- Clarify how to collect
host.idfor non-containerized systems. (#3173)
- 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.executiontofaas.invocation_id(#3209) - BREAKING: Change
faas.max_memoryunits to Bytes instead of MB (#3209) - BREAKING: Expand scope of
faas.idtocloud.resource_id(#3188) - Add Connect RPC specific conventions (#3116)
- Rename JVM metric attribute value from
nonheaptonon_heap(#3250) - Mark the attribute naming guidelines in the specification as stable. (#3220)
- Mark telemetry schema readme stable. (#3221)
- Remove mention of
net.transportfrom 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.nameSHOULD be the IP addressx.x.x.x(#3276) - Mark
net.sock.host.portas conditionally required. (#3246) - Rename Optional attribute requirement level to Opt-In. (#3228)
- Rename
http.user_agenttouser_agent.original. (#3190) - Expand the declaration of
pool.name. (#3050)
- Update Zipkin remoteEndpoint preferences. (#3087)
- Declare OTLP/JSON Stable. (#2930)
- No changes.
- No changes.
- No changes.
- No changes.
- Clarify guidance regarding excessive logging when attributes are dropped or truncated. (#3151)
- No changes.
- Define BatchLogRecordProcessor default configuration values. (#3002)
- Clarify guidance regarding excessive logging when attributes are dropped or truncated. (#3151)
- No changes.
- 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_openshifttogcp_openshiftto match the existingcloud.providerprefix. (#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.durationandhttp.client.durationmetrics as required, and mark all other HTTP metrics as optional. #3158 - Add
net.host.porttohttp.server.active_requestsmetrics attributes. #3158 http.routeSHOULD contain the "application root" if there is one. (#3164)
- 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).
- No changes.
- Add log-specific attribute limit configuration and clarify that general attribute limit configuration also apply to log records (#2861).
- No changes.
- No changes.
- No changes.
- 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
- Rename built-in ExemplarFilters to AlwaysOn, AlwaysOff and TraceBased. (#2919)
- Add
MaxScaleconfig 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)
- Clarify usage of log body for structured logs (#3023)
- Move appendices from Data Model to new Data Model Appendix document (#3207)
- No changes.
- Clarify common HTTP attributes apply to both clients and servers (#3044)
- Add
code.linenosource 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_idtomessaging.consumer.id,messaging.destinationtomessaging.destination.name,messaging.temp_destinationtomessaging.destination.temporary,messaging.destination_kindtomessaging.destination.kind,messaging.message_idtomessaging.message.id,messaging.protocoltonet.app.protocol.name,messaging.protocol_version,net.app.protocol.version,messaging.conversation_idtomessaging.message.conversation_id,messaging.message_payload_size_bytestomessaging.message.payload_size_bytes,messaging.message_payload_compressed_size_bytestomessaging.message.payload_compressed_size_bytes,messaging.rabbitmq.routing_key:messaging.rabbitmq.destination.routing_key,messaging.kafka.message_keytomessaging.kafka.message.key,messaging.kafka.consumer_grouptomessaging.kafka.consumer.group,messaging.kafka.partitiontomessaging.kafka.destination.partition,messaging.kafka.tombstonetomessaging.kafka.message.tombstone,messaging.rocketmq.message_typetomessaging.rocketmq.message.type,messaging.rocketmq.message_tagtomessaging.rocketmq.message.tag,messaging.rocketmq.message_keystomessaging.rocketmq.message.keys; Removedmessaging.url; Renamedsendoperation topublish; Splitdestinationandsourcenamespaces and clarify per-message attributes in batching scenarios.
- Add Tracer.Close() to the OpenTracing Shim layer.
- Add OpenCensus migration guide and add BinaryPropagation as an option to gRPC instrumentation for OpenCensus compatibility (#3015).
- 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
- Rename knowns values for "OTEL_METRICS_EXEMPLAR_FILTER" to "always_on", "always_off" and "trace_based". (#2919)
- No changes.
- No changes.
- No changes.
- No changes.
- 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)
- Clarification on what an Event is, and what the event.domain and event.name attributes represent (#2848)
- Move
event.domainfrom 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)
- Extend Cloud Platform Enum with OpenShift entry for all supported cloud providers. (#2985)
- Add
process.runtime.jvm.gc.durationmetric 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>torpc.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.offsetattribute. (#2982) - Update hardware metrics to use
directionas per general semantic conventions (#2942)
- Add OpenCensus metric bridge specification. (#2979)
- No changes.
- Specify handling of invalid numeric environment variables (#2963)
- No changes.
- No changes.
- No changes.
- Rename
http.retry_counttohttp.resend_countand clarify its meaning. (#2743)
- 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)
- Add
Contextas argument toLogRecordProcessor#onEmit. (#2927)
- No changes.
- 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.faultsmetric 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_gcmetric to semantic conventions. (#2901)
- Specify how Prometheus exporters and receivers handle instrumentation scope. (#2703).
- Clarify that lowerCamelCase field names MUST be used for OTLP/JSON (#2829)
- No changes.
- No changes.
- Clarify that Scope is defined at build time (#2878)
- No changes.
- No changes.
- 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)
- Add environment variables for configuring the
BatchLogRecordProcessor. (#2785) - Fix inconsistencies in log README (#2800).
- Add
browser.mobileandbrowser.languageresource attributes (#2761)
- 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.routeinstead ofhttp.targetfor servers, drophttp.urlfor clients (#2818).
- No changes.
- 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).
- Add the OTEL_SDK_DISABLED environment variable to the SDK configuration. (2679)
- Add the definition of a Boolean environment variable (#2755).
- No changes.
- No changes.
- No changes.
- 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
ForceFlushis a required method onSpanExporterinterface (#2654)
- Add experimental
OTEL_EXPORTER_OTLP_DEFAULT_HISTOGRAM_AGGREGATIONvariable 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
_createdfor 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.threadshost metric semantic convention. (#2705).
- 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).
- Update the version of the W3C Baggage specification used for
OTEL_RESOURCE_ATTRIBUTES(#2670)
- 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_versionandcloudevents.event_typelevel fromrequiredtorecommended(#2618) - Change
faas.document.timeandfaas.timelevel fromrequiredtorecommended(#2627) - Add
rpc.grpc.status_codeto RPC metric semantic conventions (#2604) - Add
http.*.*.sizemetric semantic conventions for tracking size of requests / responses for http servers / clients (#2588) - BREAKING: rename
net.peer.iptonet.sock.peer.addr,net.host.iptonet.sock.host.addr,net.peer.nametonet.sock.peer.namefor 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
stateattribute for metricsystem.network.connections(#2663) - Add
process.parent_pidattribute 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)
- No changes.
- Add support for partial success in an OTLP export response (#2696)
- Mark
OTEL_METRIC_EXPORT_INTERVAL,OTEL_METRIC_EXPORT_TIMEOUTenvironment variables as Stable (#2658)
- Introduce "split" metric schema transformation (#2653)
- Introduce Instrumentation Scope Attributes
(#2579)
- Define Instrumentation Scope Attributes as non identifiers (#2789)
- No changes.
- No changes.
- 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).
- OTLP Logs are now Stable (#2565)
- No changes.
- 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.maxtoprocess.runtime.jvm.memory.limit(#2605). - Add semantic conventions for hardware metrics (#2518).
- No changes.
- No changes.
- No changes.
- No changes.
- Move
non-otlp.mdto common directory (#2587).
- No changes.
- No changes.
- 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).
- Update
com.google.*togcp.*in logs data model (#2514).
- No changes.
- Note added that
net.peer.nameSHOULD NOT be set if capturing it would require an extra reverse DNS lookup. And movednet.peer.namefrom common http attributes to just client http attributes. (#2446) - Add
net.host.nameandnet.host.ipconventions 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)
- No changes.
- Clarify gRPC insecure option (#2476)
- Specify that OTLP/gRPC clients should retry on
RESOURCE_EXHAUSTEDcode only if the server signals backpressure to indicate a possible recovery. (#2480)
- No changes.
- No changes.
- Define semantic conventions and instrumentation stability. (#2180)
- Loosen requirement for a major version bump (#2510).
- No changes.
- Introduce the concept of Instrumentation Scope to replace/extend Instrumentation Library. The Tracer is now associated with Instrumentation Scope (#2276).
- Add
OTEL_EXPORTER_JAEGER_PROTOCOLenvironment variable to select the protocol used by the Jaeger exporter. (#2341) - Add documentation REQUIREMENT for adding attributes at span creation. (#2383).
- 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_PREFERENCEused 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)
- Add draft logging library SDK specification (#2328)
- Add InstrumentationScope/Logger Name to log data model (#2359)
- Remove
flushmethod on LogEmitter (#2405) - Declare Log Data Model Stable (#2387)
- No changes.
- Define span structure for HTTP retries and redirects. (#2078)
- Changed
rpc.systemto an enum (allowing custom values), and changed therpc.systemvalue for .NET WCF fromwcftodotnet_wcf. (#2377) - Define JavaScript runtime semantic conventions. (#2290)
- Add semantic conventions for CloudEvents. (#1978)
- Add
process.cpu.utilizationmetric. (#2436) - Add
rpc.systemvalue for Apache Dubbo. (#2453)
- Mark the OpenTracing compatibility section as stable. (#2327)
- Add experimental JSON serialization format (#2235)
- Parameters for private key and its chain added (#2370)
- No changes.
- No changes.
- Describe how to convert non-string primitives for protocols which only support strings (#2343)
- Add "Mapping Arbitrary Data to OTLP AnyValue" document. (#2385)
- No changes.
- Clarify
StartSpanreturning 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
tracestateentry and add optional specification for consistent probability sampling. (#2047) - Change description and default value of
OTEL_EXPORTER_JAEGER_ENDPOINTenvironment variable to point to the correct HTTP port and correct description ofOTEL_TRACES_EXPORTER. (#2333)
- 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.0tolocalhost. (#2282) - Clarified wildcard and predicate support in metrics SDK View API. (#2325)
- Changed the Exemplar wording, exemplar should be turned off by default. (#2414)
- 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)
- No changes.
- Align runtime metric and resource namespaces (#2112)
- Prohibit usage of retired names in semantic conventions. (#2191)
- Add
device.manufacturerto 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)
- 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)
- Rename
OTEL_EXPORTER_OTLP_SPAN_INSECUREtoOTEL_EXPORTER_OTLP_TRACES_INSECUREandOTEL_EXPORTER_OTLP_METRIC_INSECUREtoOTEL_EXPORTER_OTLP_METRICS_INSECUREso they match the naming of all other OTLP environment variables. (#2240)
- No changes.
- No changes.
- Add a section for OTel specific values in TraceState. (#1852)
- Add
noneas a possible value forOTEL_PROPAGATORSto disable context propagation. (#2052)
- No changes.
- 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)
- No changes.
- Add
k8s.container.restart_countResource attribute. (#1945) - Add "IBM z/Architecture" (
s390x) tohost.arch(#2055) - BREAKING: Remove
db.cassandra.keyspaceanddb.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.triggerfor FaaS clients (outgoing). (#1921) - Clarify difference between container.name and k8s.container.name (#1980)
- No changes.
- 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)
- Unset and empty environment variables are equivalent. (#2045)
Added telemetry schemas documents to the specification (#2008)
- No changes.
- 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)
- Added Experimental Metrics SDK specification. (#1673, #1730, #1840, #1842, #1864, #1828, #1888, #1912, #1913, #1938, #1958)
- Add FaaS metrics semantic conventions (#1736)
- Update env variable values to match other env variables (#1965)
- No changes.
- Exempt Resource from attribute limits. (#1892)
- BREAKING: Change enum member IDs to lowercase without spaces, not starting with numbers.
Change values of
net.host.connection.subtypeto 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_idto differentiate between message consumers. (#1810) - Clarifications for
http.client_ipandhttp.host. (#1890) - Add HTTP request and response headers semantic conventions. (#1898)
- No changes.
- 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
noneindicating no compression (#1923) - Clarify OTLP server components MUST support none/gzip compression (#1955)
- Change OTLP/HTTP port from 4317 to 4318 (#1970)
- Change default value for OTEL_EXPORTER_JAEGER_AGENT_PORT to 6831. (#1812)
- See also the changes for OTLP configuration listed under "OpenTelemetry Protocol" above.
- No changes.
- 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 API specification Feature-freeze. (#1833)
- Remove MetricProcessor from the SDK spec (for now) (#1840)
- No changes.
- No changes.
- 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)
- No changes.
- 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
httporhttps. Reintroduce the insecure configuration option for OTLP/gRPC exporters. (#1729) - Adding requirement to implement at least one of two transports:
grpcorhttp/protobuf. (#1790)
- No changes.
- No changes.
- 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)
- Adding environment variables for event and link attribute limits. (#1751)
- Clarify the limit on the instrument unit. (#1762)
- Declare OTLP Logs Beta. (#1741)
- No changes.
- Clean up FaaS semantic conventions, add
aws.lambda.invoked_arn. (#1781) - Remove
rpc.jsonrpc.method, clarify thatrpc.methodshould be used instead. (#1748)
- No changes.
- No changes.
- Allow selecting multiple exporters via
OTEL_TRACES_EXPORTERandOTEL_METRICS_EXPORTERby using a comma-separated list. (#1758)
- No changes.
- 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)
- Add schema_url support to
Meter. (#1666) - Adds detail about when to use
StartTimeUnixNanoand handling of unknown start-time resets. (#1646) - Expand
Gaugemetric description in the data model (#1661) - Expand
Histogrammetric description in the data model (#1664) - Added Experimental Metrics API specification. (#1401, #1557, #1578, #1590, #1594, #1617, #1645, #1657, #1665, #1672, #1674, #1675, #1703, #1704, #1731, #1733)
- Mark relevant portions of Metrics Data Model stable (#1728)
- No changes.
- Add schema_url support to
Resource. (#1692) - Clarify result of Resource merging and ResourceDetector aggregation in case of error. (#1726)
- 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).
- No changes.
- No changes.
- Add
OTEL_SERVICE_NAMEenvironment variable. (#1677)
- No changes.
Get Tracershould use an empty string if the specifiednameis null. (#1654)- Clarify how to record dropped attribute count in non-OTLP formats. (#1662)
- Expand description of Event Model and Instruments. (#1614)
- Flesh out metric identity and single-write principle. (#1574)
- Expand
Summetric 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)
- Clarify "key/value pair list" vs "map" in Log Data Model. (#1604)
- Fix the inconsistent formatting of semantic convention enums. (#1598)
- Add details for filling resource for AWS Lambda. (#1610)
- Add already specified
messaging.rabbitmq.routing_keyspan attribute key to the respective YAML file. (#1651) - Clarify usage of "otel." attribute namespace. (#1640)
- Add possibility to disable
db.statementvia instrumentation configuration. (#1659)
- No changes.
- Fix incorrect table of transient errors. (#1642)
- Clarify that 64 bit integer numbers are decimal strings in OTLP/JSON. (#1637)
- Add
OTEL_EXPORTER_JAEGER_TIMEOUTenvironment variable. (#1612) - Add
OTEL_EXPORTER_ZIPKIN_TIMEOUTenvironment variable. (#1636)
- Clarify composite
TextMapPropagatormethod required and optional arguments. (#1541) - Clarify B3 requirements and configuration. (#1570)
- Add
ForceFlushtoSpan Exporterinterface (#1467) - Clarify the description for the
TraceIdRatioBasedsampler 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)
- Adds new metric data model specification (#1512)
- 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)
- Add initial OpenTracing compatibility section. (#1101)
- Implementations can ignore links with invalid SpanContext(#1492)
- Add
noneas a possible value for OTEL_TRACES_EXPORTER to disable export (#1439) - Add
ForceFlushto SDK'sTracerProvider(#1452)
- Add
noneas a possible value for OTEL_METRICS_EXPORTER to disable export (#1439)
- Add
elasticsearchtodb.systemsemantic conventions (#1463) - Add
archtohostsemantic conventions (#1483) - Add
runtimetocontainersemantic conventions (#1482) - Rename
gcp_gketogcp_kubernetes_engineto have consistency with other Google products undercloud.infrastructure_service(#1496) http.urlMUST NOT contain credentials (#1502)- Add
aws.eks.cluster.arnto EKS specific semantic conventions (#1484) - Rename
zonetoavailability_zoneincloudsemantic conventions (#1495) - Rename
cloud.infrastructure_servicetocloud.platform(#1530) - Add section describing that libraries and the collector should autogenerate the semantic convention keys. (#1515)
- Fix rebase issue for span limit default values (#1429)
New:
- Add
cloud.infrastructure_serviceresource attribute (#1112) - Add
SpanLimitsas a configuration for the TracerProvider(#1416)
Updates:
- Add
http.server.active_requeststo count in-flight HTTP requests (#1378) - Update default limit for span attributes, events, links to 128(#1419)
- Update OT Trace propagator environment variable to match latest name(#1406)
- Remove Metrics SDK specification to avoid confusion, clarify that Metrics API specification is not recommended for client implementation (#1401)
- Rename OTEL_TRACE_SAMPLER and OTEL_TRACE_SAMPLER_ARG env variables to OTEL_TRACES_SAMPLER and OTEL_TRACES_SAMPLER_ARG (#1382)
- Mark some entries in compliance matrix as optional(#1359) SDKs are free to provide support at their discretion.
- Rename signal-specific variables for
OTLP_EXPORTER_*toOTLP_EXPORTER_TRACES_*andOTLP_EXPORTER_METRICS_*(#1362) - Versioning and stability guarantees for OpenTelemetry clients(#1291)
- Additional Cassandra semantic attributes (#1217)
- OTEL_EXPORTER environment variable replaced with OTEL_TRACES_EXPORTER and OTEL_METRICS_EXPORTER which each accept only a single value, not a list. (#1318)
process.runtime.descriptionresource convention: Addjava.vm.name(#1242)- Refine span name guideline for SQL database spans (#1219)
- Add RPC semantic conventions for metrics (#1162)
- Clarify
Descriptionusage onStatusAPI (#1257) - Add/Update
Status+errormapping for Jaeger & Zipkin Exporters (#1257) - Resource's service.name MUST have a default value, service.instance.id is not
required.
(#1269)
- Clarified in #1294
- Add requirement that the SDK allow custom generation of Trace IDs and Span IDs (#1006)
- Add default ratio when TraceIdRatioSampler is specified by environment variable but no ratio is. (#1322)
- Require schemed endpoints for OTLP exporters (1234)
- Resource SDK: Reverse (suggested) order of Resource.Merge parameters, remove special case for empty strings (#1345)
- Resource attributes: lowerecased the allowed values of the
aws.ecs.launchtypeattribute (#1339) - Trace Exporters: Fix TODOs in Jaeger exporter spec (#1374)
- Clarify that Jaeger/Zipkin exporters must rely on the default Resource to get service.name if none was specified. (#1386)
- Modify OTLP/Zipkin Exporter format variables for 1.0 (allowing further specification post 1.0) (#1358)
- Add
k8s.nodesemantic conventions (#1390) - Clarify stability for both OTLP/HTTP and signals in OTLP. (#1400)
New:
- Document service name mapping for Jaeger exporters (1222)
- Change default OTLP port number (#1221)
- Add performance benchmark specification (#748)
- Enforce that the Baggage API must be fully functional, even without an installed SDK. (#1103)
- Rename "Canonical status code" to "Status code" (#1081)
- Add Metadata for Baggage entries, and clarify W3C Baggage Propagator implementation (#1066)
- Change Status to be consistent with Link and Event (#1067)
- Clarify env variables in OTLP exporter (#975)
- Add Prometheus exporter environment variables (#1021)
- Default propagators in un-configured API must be no-op (#930)
- Define resource mapping for Jaeger exporters (#891)
- Add resource semantic conventions for operating systems (#693)
- Add semantic convention for source code attributes (#901)
- Add semantic conventions for outgoing Function as a Service (FaaS) invocations (#862)
- Add resource semantic convention for deployment environment (#606)
- Refine semantic conventions for messaging systems and add specific attributes for Kafka (#1027)
- Clarification of the behavior of the Trace API, re: context propagation, in the absence of an installed SDK
- Add API and semantic conventions for recording exceptions as Span Events (#697)
- Allow samplers to modify tracestate (#988)
- Update the header name for otel baggage, and version date (#981)
- Define PropagationOnly Span to simplify active Span logic in Context (#994)
- Add limits to the number of attributes, events, and links in SDK Spans (#942)
- Add Metric SDK specification (partial): covering terminology and Accumulator component (#626)
- Clarify context interaction for trace module (#1063)
- Add
Shutdownfunction to*ProviderSDK (#1074) - Add semantic conventions for system metrics (#937)
- Add
db.sql.tableto semantic conventions, allowdb.operationfor SQL (#1141) - Add OTEL_TRACE_SAMPLER env variable definition (#1136)
- Add guidelines for OpenMetrics interoperability (#1154)
- Add OTEL_TRACE_SAMPLER_ARG env variable definition (#1202)
Updates:
- Clarify null SHOULD NOT be allowed even in arrays (#1214)
- Remove ordering SHOULD-requirement for attributes (#1212)
- Make
process.pidoptional, splitprocess.command_argsfromcommand_line(#1137) - Renamed
CorrelationContexttoBaggage: (#857) - Add semantic convention for NGINX custom HTTP 499 status code.
- Adapt semantic conventions for the span name of messaging systems (#690)
- Remove lazy Event and Link API from Span interface
(#840)
- SIGs are recommended to remove any existing implementation of the lazy APIs to avoid conflicts/breaking changes in case they will be reintroduced to the spec in future.
- Provide clear definitions for readable and read/write span interfaces in the
SDK
(#669)
- SpanProcessors must provide read/write access at least in OnStart.
- Specify how
Probabilitysampler is used withParentOrElsesampler. - Clarify event timestamp origin and range (#839)
- Clean up api-propagators.md, by extending documentation and removing redundant sections (#577)
- Rename HTTPText propagator to TextMap (#793)
- Rename ParentOrElse sampler to ParentBased and add multiple delegate samplers (#610)
- Rename ProbabilitySampler to TraceIdRatioBasedSampler and add requirements (#611)
- Version attributes no longer have a prefix such as semver: (#873)
- Add semantic conventions for process runtime (#882, #1137)
- Use hex encoding for trace id and span id fields in OTLP JSON encoding: (#911)
- Explicitly specify the SpanContext APIs IsValid and IsRemote as required (#914)
- A full
Contextis the only way to specify a parent of aSpan.SpanContextor evenSpanare not allowed anymore. (#875) - Remove obsolete
http.status_textfrom semantic conventions (#972) - Define
nullas an invalid value for attributes and declare attempts to setnullas undefined behavior (#992) - SDK: Rename the
Decisionvalues forSamplingResults toDROP,RECORD_ONLYandRECORD_AND_SAMPLEfor consistency (#938, #956) - Metrics API: Replace "Additive" with "Adding", "Non-Additive" with "Grouping" (#983
- Move active span interaction in the Trace API to a separate class (#923)
- Metrics SDK: Specify LastValue default aggregation for ValueObserver (#984
- Metrics SDK: Specify TBD default aggregation for ValueRecorder (#984
- Trace SDK: Sampler.ShouldSample gets parent Context instead of SpanContext (#881)
- SDK: Specify known values, as well as basic error handling for OTEL_PROPAGATORS. (#962) (#995)
- SDK: Specify when to generate new IDs with sampling (#1225)
- Remove custom header name for Baggage, use official header (#993)
- Trace API: Clarifications for
Span.End, e.g. IsRecording becomes false after End (#1011) - Update semantic conventions for gRPC for new Span Status (#1156)
New:
- Add span attribute to indicate cold starts of Function as a Service executions (#650)
- Add conventions for naming of exporter packages (#629)
- Add semantic conventions for container id (#673)
- Add semantic conventions for HTTP content length (#641)
- Add semantic conventions for process resource (#635)
- Add peer.service to provide a user-configured name for a remote service (#652)
Updates:
- Improve root Span description (#645)
- Extend semantic conventions for RPC and allow non-gRPC calls (#604)
- Revise and extend semantic conventions for databases (#575)
- Clarify Tracer vs TracerProvider in tracing API and SDK spec.
(#619)
Most importantly:
- Configuration should be stored not per Tracer but in the TracerProvider.
- Active spans are not per Tracer.
- Do not set any value in Context upon failed extraction (#671)
- Clarify semantic conventions around span start and end time (#592)
- Define Log Data Model.
- Remove SpanId from Sampler input.
- Clarify what it will mean for a vendor to "support OpenTelemetry".
- Clarify Tracers should reference an InstrumentationLibrary rather than a Resource.
- Replace ALWAYS_PARENT sampler with a composite ParentOrElse sampler.
- Incorporate old content on metrics calling conventions, label sets.
- Update api-metrics-user.md and api-metrics-meter.md with the latest metrics API.
- Normalize Instrumentation term for instrumentations.
- Change w3c correlation context to custom header.
- OTEP-83 Introduce the notion of InstrumentationLibrary.
- OTEP-88 Metrics API instrument foundation.
- OTEP-91 Logs vocabulary.
- OTEP-92 Logs Vision.
- OTEP-90 Remove LabelSet from the metrics API.
- OTEP-98 Explain the metric instruments.
- OTEP-99 OTLP/HTTP: HTTP Transport Extension for OTLP.
- Define handling of null and empty attribute values.
- Rename Setter.put to Setter.set
- Add glossary for typically misused terms.
- Clarify that resources are immutable.
- Clarify that SpanContext.IsRemote is false on remote children.
- Move specifications into sub-directories per signal.
- Remove references to obsolete
peer.*attributes. - Span semantic conventions for for messaging systems.
- Span semantic conventions for function as a service.
- Remove the handling of retries from trace exporters.
- Remove Metrics' default keys.
- Add some clarifying language to the semantics of metric instrument naming.
- Allow injectors and extractors to be separate interfaces.
- Add an explanation on why Context Restore operation is needed.
- Document special Zipkin conversion cases.
- OTEP-0059 Add OTLP Trace Data Format specification.
- OTEP-0066 Separate Layer for Context Propagation.
- OTEP-0070 Rename metric instrument "Handles" to "Bound Instruments".
- OTEP-0072 Metric Observer instrument specification (refinement).
- OTEP-0080 Remove the Metric Gauge instrument, recommend use of other instruments.
- Update 0003-measure-metric-type to match current Specification.
- Update 0009-metric-handles to match current Specification.
- Clarify named tracers and meters.
- Remove SamplingHint from the Sampling OTEP (OTEP-0006).
- Remove component attribute.
- Allow non-string Resource label values.
- Allow array values for attributes.
- Add service version to Resource attributes.
- Add general, general identity, network and VM image attribute conventions.
- Add a section on transformation to Zipkin Spans.
- Add a section on SDK default configuration.
- Enhance semantic conventions for HTTP/RPC.
- Provide guidelines for low-cardinality span names.
- SDK Tracer: Replace TracerFactory with TracerProvider.
- Update Resource to be in the SDK.
- OTEP-0001 Added Auto-Instrumentation.
- OTEP-0002: Removed SpanData interface in favor of Span Start and End options.
- OTEP-0003 Consolidated pre-aggregated and raw metrics APIs.
- OTEP-0008 Added Metrics Observers API.
- OTEP-0009 Added Metrics Handle API.
- OTEP-0010 Rename "Cumulative" to "Counter" in the Metrics API.
- OTEP-006 Moved sampling from the API tp the SDK.
- OTEP-0007 Moved support for out-of-band telemetry from the API to the SDK.
- OTEP-0016 Added named providers for Tracers and Meters.
- Added design goals and requirements for a telemetry data exchange protocol.
- Added a Span Processor interface for intercepting span start and end invocations.
- Added a Span Exporter interface for processing batches of spans.
- Replaced DistributedContext.GetIterator with GetEntries.
- Added clarifications and adjustments to improve cross-language applicability.
- Added a specification for SDK configuration.
- Added API proposal for the converged OpenTracing/OpenCensus project is complete.