Mientras se prepara para enviarnos datos de sus servicios instrumentados con OpenTelemetry, asegúrese de estar familiarizado con nuestro soporte para OTLP.
Protocolo OpenTelemetry (OTLP)
OpenTelemetry Protocol (OTLP) es el protocolo de intercambio de telemetría utilizado por la instrumentación, el agente, el backend y el recolector de OpenTelemetry. La especificación del protocolo requiere compatibilidad con versiones anteriores para permitir que estos componentes continúen comunicándose entre versiones, potencialmente con una funcionalidad degradada. Como backend, New Relic anunció inicialmente soporte de disponibilidad general para la versión 0.10.0 de OTLP el 23 de septiembre de 2021. Desde entonces, se han realizado una serie de cambios en el protocolo a medida que madura. A partir del 30 de septiembre de 2022, New Relic es compatible con la versión 0.18.0 de OTLP.
Versión OTLP 0.18.0
Un hito en la versión 0.18.0 del protocolo es la estabilidad de las señales de telemetría centrales (log, métrica y traza) en el protocolo. La definición de estabilidad detalla campos, números y nombres específicos que se garantiza que no cambiarán y cuáles aún pueden cambiar.
Sugerencia
En este momento, OTLP/JSON aún no es estable. Una vez que lo esté, algunas partes del protocolo sujetas a cambios ahora ya no estarán permitidas, ya que serían visibles en el cable.
Otra característica clave agregada entre 0.10.0 y 0.18.0 es el histograma exponencial, que se agregó en 0.11.0 y se perfeccionó en versiones más recientes. Los histogramas exponenciales son mejores para representar distribuciones de cola larga, como el tiempo de respuesta HTTP, son más eficientes para el transporte y pueden ser procesados de manera más óptima por un backend como New Relic.
A continuación se muestran más detalles sobre los cambios notables entre estos dos lanzamientos:
Agregado
- Histograma exponencial: New Relic admite la ingestión de histograma exponencial utilizando la temporalidad de agregación delta. Los campos mínimo, máximo y suma son opcionales pero se aceptarán.
LogRecord ObservedTimestamp
: Agregado en 0.13.0, este campo representa cuándo los componentes de la colección OpenTelemetry vieron por primera vez un log , por ejemplo, la instrumentación de la aplicación o un recolector.
Cambió
InstrumentationLibrary
pasó a llamarse InstrumentationScope
. Se aceptan métrica, log y traza almacenados en InstrumentationLibrary
o InstrumentationScope
. Para cada uno, el nombre y la versión se agregan como atributo: otel.scope.name
y otel.scope.version
.
Advertencia
Recomendamos el InstrumentationScope
más nuevo, ya que InstrumentationLibrary
dejará de ser compatible en algún momento en el futuro.
Remoto
Algunos mensajes y campos quedaron obsoletos para métrica. Se han eliminado las versiones enteras de cada tipo de métrica.
Advertencia
StringKeyValue
Se eliminaron las etiquetas, pero New Relic aceptará como atributo las versiones anteriores de los componentes de OpenTelemetry que aún usan "etiquetas" para lograr compatibilidad con versiones anteriores. Este soporte se eliminará en algún momento en el futuro.