Ao se preparar para nos enviar dados do seu instrumento de serviços com OpenTelemetry, certifique-se de estar familiarizado com nosso suporte para OTLP.
Protocolo OpenTelemetry (OTLP)
OpenTelemetry Protocol (OTLP) é o protocolo de troca de telemetria usado pela instrumentação, agente, backend e coletor OpenTelemetry. A especificação do protocolo requer compatibilidade com versões anteriores para permitir que esses componentes continuem se comunicando entre versões, potencialmente com funcionalidade degradada. Como backend, a New Relic anunciou inicialmente suporte de disponibilidade geral para OTLP versão 0.10.0 em 23 de setembro de 2021. Desde então, uma série de alterações foram feitas no protocolo à medida que ele amadurece. A partir de 30 de setembro de 2022, a New Relic oferece suporte ao OTLP versão 0.18.0.
OTLP versão 0.18.0
Um marco na versão 0.18.0 do protocolo é a estabilidade dos principais sinais de telemetria (log, métrica e trace) no protocolo. A definição de estabilidade detalha campos, números e nomes específicos que certamente não serão alterados e quais ainda podem mudar.
Dica
Neste momento, OTLP/JSON ainda não está estável. Assim que estiver, algumas partes do protocolo sujeitas a alterações não serão mais permitidas, pois seriam visíveis na transmissão.
Outro recurso importante adicionado entre 0.10.0 e 0.18.0 é o histograma exponencial, que foi adicionado em 0.11.0 e refinado em versões mais recentes. Histogramas exponenciais são melhores para representar distribuições de cauda longa, como tempo de resposta HTTP, mais eficientes para transporte e podem ser processados de maneira mais otimizada por backend como New Relic.
Abaixo estão mais detalhes sobre as mudanças notáveis entre essas duas versões:
Adicionado
- Histograma exponencial: New Relic oferece suporte à ingestão de histograma exponencial usando temporalidade de agregação delta. Os campos min, max e sum são opcionais, mas serão aceitos.
LogRecord ObservedTimestamp
: adicionado na versão 0.13.0, esse campo representa quando um registro de log foi visto pela primeira vez pelos componentes da coleção OpenTelemetry, por exemplo, instrumentação de aplicativo ou um coletor.
Mudado
InstrumentationLibrary
foi renomeado para InstrumentationScope
. métrica, log e trace são armazenados em InstrumentationLibrary
ou InstrumentationScope
são aceitos. Para cada um, o nome e a versão são adicionados como atributo: otel.scope.name
e otel.scope.version
.
Cuidado
Recomendamos o InstrumentationScope
mais recente, pois InstrumentationLibrary
deixará de ser compatível em algum momento no futuro.
Removido
Algumas mensagens e campos foram descontinuados para métricas. Versões inteiras de cada tipo de métrica foram removidas.
Cuidado
StringKeyValue
os rótulos foram removidos, mas versões mais antigas dos componentes do OpenTelemetry que ainda usam "rótulos" serão aceitas como atributo pela New Relic para compatibilidade com versões anteriores. Este suporte será removido em algum momento no futuro.