• EnglishEspañol日本語한국어Português
  • Log inStart now

OpenTelemetry versions: Best practices

As you get ready to send us data from your services instrumented with OpenTelemetry, make sure you're familiar with our support for OTLP.

OpenTelemetry Protocol (OTLP)

OpenTelemetry Protocol (OTLP) is the telemetry exchange protocol used by OpenTelemetry instrumentation, agents, backends, and collectors. The protocol specification requires backwards compatibility to allow these components to continue communicating across versions, potentially with degraded functionality. As a backend, New Relic initially announced general availability support for OTLP version 0.10.0 on September 23, 2021. Since that time, a number of changes have been made to the protocol as it matures. As of September 30, 2022, New Relic supports OTLP version 0.18.0.

OTLP Version 0.18.0

A milestone in protocol version 0.18.0 is the stability of core telemetry signals (logs, metrics, and traces) in the protocol. The stability definition details specific fields, numbers, and names which are guaranteed not to change and which ones may still change.

Tip

At this time, OTLP/JSON is not yet stable. Once it is, some parts of the protocol subject to change now will no longer be allowed as they would be visible on the wire.

Another key feature added between 0.10.0 and 0.18.0 is exponential histograms, which were added in 0.11.0 and refined in more recent releases. Exponential histograms are better for representing long tail distributions such as HTTP response time, more efficient to transport, and can be more optimally processed by backends like New Relic.

Below are more details about the notable changes between these two releases:

Added

  • Exponential histograms: New Relic supports the ingestion of exponential histograms using delta aggregation temporality. The min, max, and sum fields are optional but will be accepted.
  • LogRecord ObservedTimestamp: Added in 0.13.0, this field represents when a log record was first seen by OpenTelemetry collection components, for example, application instrumentation or a collector.

Changed

InstrumentationLibrary was renamed to InstrumentationScope. Metrics, logs, and traces are stored under InstrumentationLibrary or InstrumentationScope are accepted. For each, the name and version are added as attributes: otel.scope.name and otel.scope.version.

Caution

We recommend the newer InstrumentationScope as InstrumentationLibrary will cease to be supported at some point in the future.

Removed

Some messages and fields were deprecated for metrics. Integer versions of each metric type have been removed.

Caution

StringKeyValue labels were removed, but older versions of OpenTelemetry components still using "labels" will be accepted as attributes by New Relic for backwards compatibility. This support will be removed at some point in the future.

Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.