Nosso pipeline de métricas OTLP está sendo atualizado para melhor suportar a forma como lidamos com métricas cumulativas. Como parte dessa atualização, estamos fazendo a transição do tipo de dados de métrica subjacente para somas cumulativas monotônicas de um tipo gauge
para o tipo cumulativeCount
. O tipo cumulativeCount
permite consultar o valor cumulativo e delta associado aos dados reportados.
A partir de gaDateAndYear, ingeriremos métricas monotônicas cumulativas de acordo com o seguinte cronograma de fim de vida (EoL):
gaDateAndYear:
- A ingestão de somas monotônicas cumulativas conforme o tipo de métrica
cumulativeCount
é liberada (somas cumulativas não monotônicas não são afetadas). A experiência anterior de ingestão dessas métricas como o tipo de métricagauge
foi descontinuada. - As contas que enviavam ativamente somas monotônicas cumulativas antes desta data podem continuar a usar a ingestão do tipo
gauge
. - Todas as outras contas terão somas monotônicas acumuladas ingeridas como
cumulativeCount
tipos de métrica.
- A ingestão de somas monotônicas cumulativas conforme o tipo de métrica
gaDate através de eolDate:
As contas que usam a ingestão do tipo
gauge
obsoleta podem ativar a ingestão do tipocumulativeCount
.Early opt-in is the best way to ensure affected queries and alerts are not disrupted by the EoL
.
eolDateAndYear: todas as contas serão migradas para o tipo
cumulativeCount
de ingestão para somas monotônicas cumulativas.
Se você estava ingerindo somas monotônicas cumulativas antes do gaDate, esse período de 180 dias lhe dá tempo para atualizar as consultas e que fazem uso da métrica afetada.
As seções abaixo irão ensiná-lo:
- Como saber se você foi impactado
- Como se preparar para a EoL
- Como ativar a funcionalidade
cumulativeCount
antes da data de fim de vida
Importante
As somas cumulativas não monotônicas não serão afetadas.
Verifique o impacto
Se sua conta estava enviando métrica de soma cumulativa OTLP para New Relic antes de gaDateAndYear, você será impactado pelo EoL em eolDateAndYear.
Para ver se você foi afetado, execute a seguinte consulta NRQL para a conta relevante:
FROM NrIntegrationError SELECT count(*)WHERE newRelicFeature = 'cumulativeSumAsGaugeEoL'SINCE 24 hours ago
A consulta retornará resultados se você reportou métricas impactadas por este EoL nas últimas 24 horas.
Para investigar mais detalhadamente, você pode visualizar a mensagem do evento para ver quais métricas foram afetadas:
FROM NrIntegrationError SELECT uniques(metricName)WHERE newRelicFeature = 'cumulativeSumAsGaugeEoL'LIMIT MAX SINCE 24 hours ago
Qualquer monitoramento ou alerta envolvendo essas métricas precisará ser revisado e atualizado antes da data de fim de vida. A próxima seção contém sugestões de ações para métricas impactadas.
O que fazer se você for impactado
No eolDate, o relatório de métricas de soma cumulativa monotônica OTLP mudará do tipo de métrica gauge
para cumulativeCount
. Se você estiver usando essas métricas, você vai querer se preparar para isso. Por exemplo, você pode querer criar condição do alerta duplicada com o novo tipo de métrica para que, quando a mudança acontecer, você não tenha uma interrupção (e explicamos como fazer isso abaixo).
Nossas práticas recomendadas do OpenTelemetry descrevem as diferenças na consulta entre um tipo de métrica gauge
e um tipo de métrica cumulativeCount
. Ou seja, você poderá definir o valor delta (por padrão) ou o valor cumulativo selecionando o campo cumulativo.
Vejamos um exemplo de consulta de uma métrica de soma monotônica cumulativa metricName
. Até a EoL, uma consulta como:
FROM Metric SELECT latest(<metricName>)
estaria avaliando apenas gauge
métrica. Assim que o EoL acontecer, o tipo de métrica subjacente associado a metricName
mudará para cumulativeCount
. Dependendo do alerta, essa alteração pode causar resultados falsos, pois o valor da métrica para um tipo gauge
e cumulativeCount
representa valores diferentes do ponto de dados.
Abaixo focamos na atualização da condição do alerta, pois os alertas geralmente são mais importantes que os gráficos. Para seus gráficos personalizados, você pode:
- Siga a mesma abordagem geral que descrevemos para alerta (crie um novo gráfico com uma consulta atualizada e apague o gráfico antigo após o EoL), OU
- Espere até depois do EoL e atualize os gráficos
Ação sugerida: Criar novas versões do alerta
Aqui estão alguns exemplos de consultas que podem ser utilizadas na condição do alerta. Forneceremos a consulta original, depois uma versão gauge
da consulta e uma versão cumulativeCount
da consulta. Você deve substituir o alerta existente pela versão gauge
da consulta e criar uma condição do alerta duplicada que use a versão cumulativeCount
. Dessa forma, quando fizermos a transição da sua conta para cumulativeCount
no eolDate, essa condição do alerta estará disponível quando a consulta antiga não funcionar mais.
Consulta cumulativa
Consulta original:
FROM Metric SELECT latest(<metricName>)
Versão do medidor da consulta:
FROM Metric SELECT latest(<metricName>)WHERE <metricName>[type] = 'gauge'
Versão de contagem cumulativa da consulta:
FROM Metric SELECT latest(<metricName>[cumulative])WHERE <metricName>[type] = 'cumulativeCount'
Consulta de taxa de variação
Consulta original:
FROM Metric SELECT derivative(<metricName>, 1 minute)
Versão do medidor da consulta:
FROM Metric SELECT derivative(<metricName>, 1 minute)WHERE <metricName>[type] = 'gauge'
Versão de contagem cumulativa da consulta:
FROM Metric SELECT rate(sum(<metricName>[cumulative]), 1 minute)WHERE <metricName>[type] = 'cumulativeCount'
Ação sugerida: visualizar cumulativaCount antes do EoL
As contas afetadas continuarão a ter suas somas cumulativas armazenadas como tipos gauge
até o EoL. No entanto, opcionalmente, você pode testar cumulativeCount
antes do fim da vida para validar que sua consulta e alerta estão se comportando conforme o esperado. Para testar cumuativeCount
tipos antecipadamente, adicione o seguinte atributo aos dados OTLP enviados para a New Relic:
newrelic_metric_type=cumulativeCount
Importante
Quando você começar a enviar newrelic_metric_type=cumulativeCount
em seus dados, quaisquer somas monotônicas cumulativas que recebermos serão convertidas em tipos cumulativeCount
. Isso significa que qualquer consulta ou alerta existente configurado para destino do tipo gauge
receberá resultados inesperados. Tenha isso em mente ao testar a experiência cumulativeCount
. Para retornar ao tipo gauge
, simplesmente pare de configurar o atributo newrelic_metric_type
.
Biblioteca de instrumentação
Se estiver usando uma biblioteca de instrumentação OTLP em sua base de código, você deverá fazer referência ao SDK de linguagem apropriado para seu aplicativo. Qualquer método de adição do atributo newrelic_metric_type=cumulativeCount
a pontos de dados métricos individuais ou ao nível de atributo do recurso deve ser suficiente.
Aqui está um exemplo de adição do atributo diretamente à métrica de relatório no Java SDK:
final var meter = openTelemetry.meterBuilder("manual-instrumentation-scope") .setInstrumentationVersion("1.0.0") .build();final LongCounter counter = meter.counterBuilder("myCumulativeCounter") .build();counter.add(1, Attributes.of(stringKey("newrelic_metric_type"), "cumulativeCount"));
Coletor
Se a origem do seu monitoramento OTLP vier do coletor OTLP, você poderá usar o processador de atributos OpenTelemetry para adicionar o atributo antes de enviá-lo aos seus exportadores. Por exemplo, o trecho a seguir inserirá o atributo newrelic_metric_type=cumulativeCount
:
…attributes: actions: - key: newrelic_metric_type action: insert value: cumulativeCount…service: pipelines: metrics: … processors: [...,attributes,...] …
Verificando resultados
Depois de definir newrelic_metric_type=cumulativeCount
em seus dados de métrica, você pode verificar se estamos recebendo-os corretamente com esta consulta:
FROM Metric SELECT count(*) WHERE %[type] = 'cumulativeCount' TIMESERIES