Cuidado
Problemas conhecidos: Esta versão apresenta um problema conhecido com certos usos do Netty Reactor que pode causar vazamentos de memória. Por favor, considere usar outra versão.
Novos recursos e melhorias
- Aumenta a visibilidade das chamadas do Reator
Mono.flatMap2308 - Adiciona nova instrumentação para Spring-Kafka e distributed tracing ao usar a biblioteca principal do cliente Kafka 2312
- Adiciona suporte ao evento
KafkaConsumerConfigpara Kafka 3.7+ 2358
Correções
Corrige a configuração
distributed_tracing.sampler2330Corrige um erro de acesso ilegal que pode ocorrer ao usar Scala 2.12 e JDK 11. Nos casos em que o Scala 2.12 não é detectável pelo agente (verificamos o classloader do sistema para isso - notavelmente, o sbt carregará classes Scala em loaders Scala personalizados), também existe um sinalizador de recurso para habilitar manualmente a correção por meio da propriedade do sistema
-Dnewrelic.config.class_transformer.illegal_access_fix=true2334.Corrigir transações 'Desconhecidas' no Netty 2274 2355
- Esta correção move alterações anteriores da instrumentação do netty para trás de um sinalizador de recurso, o que fornece visibilidade adicional em alguns casos envolvendo transações HTTP2. Para reativar essa granularidade (ao possível custo de ver transações "Desconhecidas"), use a configuração:
netty:http2:frame_read_listener:start_transaction: true- A versão 8.20 apresenta um erro lógico na configuração do agente, portanto a correção é oficial apenas na versão 8.21 e superiores.
Adiciona uma restrição sobre quando adicionar cabeçalhos distributed trace para mensagens SQS. Isso se baseia no tamanho do conteúdo de uma mensagem em bytes e no tamanho do atributo. Mensagens com tamanho superior a 251 KB e/ou com 9 ou mais atributos são excluídas da adição de cabeçalhos distributed trace . 2353
Permite que o arquivo JAR
org.cracseja ocultado para evitar conflitos com os ambientes dos clientes. 2344Alterações de backport feitas no PR #1927 para evitar
NullPointerExceptionsem versões mais antigas da instrumentaçãovertx-core2327Impede a criação de segmentos de transação excessivos por chamadas de método
HttpUrlConnection(por exemplogetInputStream) quando não estão associados a uma chamada externa. Este comportamento pode ser controlado pelas seguintes opções de configuração:NEW_RELIC_CLASS_TRANSFORMER_COM_NEWRELIC_INSTRUMENTATION_HTTPURLCONNECTION_VERBOSE=false, sys prop-Dnewrelic.config.class_transformer.com.newrelic.instrumentation.httpurlconnection.verbose=false, ou stanza equivalente emnewrelic.yml. A configuração padrão étrue(ou seja, Os métodos de tratamento de resposta não externosgetInputStreame outros serão relatados como antes). 2365
Segurança
- Atualiza o
com.newrelic.agent.java:infinite-tracing-protobufpara maior segurança com rastreamento infinito 2339 - Substitui
snakeyamlporcom.konloch:safeyamlpara corrigir uma vulnerabilidade de segurança 2333
Depreciações
Os seguintes módulos de instrumentação estão obsoletos e serão removidos na próxima versão principal:
aws-wrap-0.7.0java.completable-future-jdk8play-2.3netty-3.4Struts v1
IAST
Atualização da versão CSEC para 1.7.0 2348\ Changelog: https://github.com/newrelic/csec-java-agent/releases/tag/1.7.0
Atualizar para a versão mais recente
Para identificar qual versão do agente Java você está usando atualmente, execute java -jar newrelic.jar -v. A versão do seu agente Java será impressa em seu console.
Em seguida, para atualizar para a versão mais recente do agente Java:
- Faça backup de todo o diretório raiz do agente Java em outro local. Renomeie esse diretório para
NewRelic_Agent#.#.#, onde#.#.#é o número da versão do agente. - Baixe o agente..
- Descompacte o novo arquivo de download do agente e copie
newrelic-api.jarenewrelic.jarno diretório raiz original do agente Java. - Compare seu
newrelic.ymlantigo com onewrelic.ymlrecém-baixado do zip e atualize o arquivo, se necessário. - Reinicie seu despachante Java.
Se você tiver problemas após a atualização do agente Java, restaure a partir do diretório do agente New Relic do qual foi feito backup.
Atualizar diferenças de configuração do agente
Adicionamos novas configurações a newrelic.yml à medida que lançamos novas versões do agente. Você pode usar diff ou outro utilitário de comparação para ver o que mudou e adicionar as novas configurações ao seu arquivo antigo. Certifique-se de não substituir nenhuma personalização feita no arquivo, como chave de licença, nome do aplicativo ou alterações nas configurações padrão.
Por exemplo, se você diff os arquivos newrelic.yml padrão para as versões 7.10.0 e 7.11.0 do agente Java, os resultados impressos no console serão como:
➜ diff newrelic_7.10.0.yml newrelic_7.11.0.yml...107a108,119> # Whether the log events should include context from loggers with support for that.> include_context_data:>> # When true, application logs will contain context data.> enabled: false>> # A comma separated list of attribute keys whose values should be sent to New Relic.> #include:>> # A comma separated list of attribute keys whose values should not be sent to New Relic.> #exclude:>125a138>128c141< enabled: false---> enabled: true...Neste exemplo, essas linhas foram adicionadas ao newrelic.yml padrão no agente Java versão 7.11.0. Se você estiver migrando para 7.11.0 ou superior, adicione essas novas linhas ao seu newrelic.yml original.
Declaração de apoio:
- New Relic recomenda que você atualize o agente regularmente para garantir que esteja obtendo os benefícios mais recentes de recursos e desempenho. Além disso, versões mais antigas não terão mais suporte quando chegarem ao fim de sua vida útil.