Usar Rastreador APM no Micronaut
Para usar o Rastreador do APM com o Micronaut, faça o seguinte:
- Confirmar versão: O Rastreador do APM no Micronaut é suportado com o Agente do APM versão 1.7 ou superior.
- Adicione o Rastreador do APM ao projeto Maven. Para obter detalhes, consulte Adicionar Rastreador do APM ao Projeto Maven.
- Adicione a dependência em
pom.xml
.- Para Micronaut 3.x, adicione o seguinte:
<dependency> <groupId>com.oracle.apm.agent.java</groupId> <artifactId>apm-java-agent-micronaut</artifactId> <version>[1.14.0.455,)</version> </dependency>
- Para Micronaut 4.x, adicione o seguinte:
<dependency> <groupId>com.oracle.apm.agent.java</groupId> <artifactId>apm-java-agent-micronaut4</artifactId> <version>[1.14.0.455,)</version> </dependency>
- Para Micronaut 3.x, adicione o seguinte:
- A integração de rastreamento do Micronaut registra um bean io.opentracing.tracer que expõe a API de Rastreamento Aberta. A dependência acima será usada para configurar o Rastreador do APM como o rastreador padrão (global).
- Configuração de rastreamento para Micronaut.
O Rastreador do APM usa as seguintes propriedades no arquivo application.yml do Micronaut:
Property Padrão Obrigatório Descrição ativado
falso Sim Propriedade para ativar o rastreador do APM. O valor padrão é false. O valor não pode ser nulo. chave de upload de dados
Sim Chave de upload de dados do APM necessária para comunicação na nuvem do serviço Oracle APM. data-upload-endpoint Sim Ponto final de upload de dados do APM necessário para a comunicação na nuvem do serviço do Oracle APM. collect-metrics true Não Coleta métricas do servidor e relata para a nuvem do serviço OCI APM.
O padrão é true.
O usuário pode acessar todas as métricas de servidor coletadas do serviço OCI Telemetry.collect-resources true Não Coleta recursos do servidor e relata para a nuvem do serviço OCI APM.
Todos os recursos coletados são usados como dimensão para consulta de dados.log-directory apm-tracer-log no diretório de trabalho da JVM Não Caminho completo do diretório de log no qual todos os logs do Rastreador do APM são gravados. Se isso não for definido, o diretório de log padrão (apm-tracer-log
) será criado no diretório de trabalho da JVM.tags Não Tags estáticas a serem incluídas em todos os intervalos de rastreamento. properties Não Propriedades adicionais do rastreador do APM. Isso permite que as propriedades sejam definidas de forma programática no momento da inicialização do Rastreador do APM.
As propriedades serão ignoradas se a chave ou o valor for nulo.
A seguinte configuração precisa ser adicionada como nó filho (oracleapm) da seção tracing do arquivo application.yml:micronaut: server: application: name: micronaut_trace_demo tracing: oracleapm: …
Exemplo:- Você precisa especificá-lo no formato YAML. O nome do arquivo default é
application.yml
. Consulte o exemplo abaixo:tracing: oracleapm: enabled: true data-upload-key: <data upload endpoint of your OCI domain> data-upload-endpoint: <privatedata key of your OCI domain> collect-resources: true collect-metrics: true log-directory: "/user/apm/log " tags: tag1: false tag2: 123 tag3: "stringWithQuotes" tag4: 1e4 tag5: 0.32 tag6: stringWoQuotes properties: com.oracle.apm.agent.logging.level : DEBUG com.oracle.apm.agent.key1 : value1
- Você precisa especificá-lo no formato YAML. O nome do arquivo default é
- Snapshots de Thread: o rastreador OracleApm suporta o recurso de snapshots de thread.
Os snapshots de thread permitem a coleta de snapshots de pilha de thread que podem ser usados para análise profunda. Para obter mais informações sobre instantâneos de thread, consulte Configurar Snapshots de Thread no Rastreador do APM.
Para configurar snapshots de thread para Micronaut, faça o seguinte:-
Abra o arquivo de configuração
application.yml
, vá para a seção rastreamento e adicione o seguinte:collect-deep-dive-trace-snapshot: true
-
Adicione a nova seção deep-dive-properties com as propriedades de snapshots de thread em rastreamento:
deep-dive-properties: com.oracle.apm.agent.deepdive.maxPercentTraceExportToCollectorPerMinute: 100 com.oracle.apm.agent.deepdive.maxTraceExportToCollectorPerMinute: 200 com.oracle.apm.agent.deepdive.snapshotCollectionIntervalInMS: 250 com.oracle.apm.agent.deepdive.maxSnapshotsPerTrace: 16 com.oracle.apm.agent.deepdive.maxStackTraceDepthPerSnapshot: 256 com.oracle.apm.agent.deepdive.logLevel: INFO com.oracle.apm.agent.deepdive.maxProcessCpuUsagePercent: 90 com.oracle.apm.agent.deepdive.deepDiveCpuUsagePercent.minThreshold: 3 com.oracle.apm.agent.deepdive.deepDiveCpuUsagePercent.maxThreshold: 5 com.oracle.apm.agent.deepdive.traceLifeInMS.minThreshold: 50 com.oracle.apm.agent.deepdive.traceLifeInMS.maxThreshold: 60000
Exemplo:
micronaut: server: application: name: micronaut_trace_demo tracing: oracleapm: enabled: true data-upload-key: <data upload endpoint of your OCI domain> data-upload-endpoint: <privatedata key of your OCI domain> collect-resources: true collect-metrics: true log-directory: "/user/apm/log " collect-deep-dive-trace-snapshot: true deep-dive-properties: com.oracle.apm.agent.deepdive.maxPercentTraceExportToCollectorPerMinute: 100 com.oracle.apm.agent.deepdive.maxTraceExportToCollectorPerMinute: 200 com.oracle.apm.agent.deepdive.snapshotCollectionIntervalInMS: 250 com.oracle.apm.agent.deepdive.maxSnapshotsPerTrace: 16 com.oracle.apm.agent.deepdive.maxStackTraceDepthPerSnapshot: 256 com.oracle.apm.agent.deepdive.logLevel: INFO com.oracle.apm.agent.deepdive.maxProcessCpuUsagePercent: 90 com.oracle.apm.agent.deepdive.deepDiveCpuUsagePercent.minThreshold: 3 com.oracle.apm.agent.deepdive.deepDiveCpuUsagePercent.maxThreshold: 5 com.oracle.apm.agent.deepdive.traceLifeInMS.minThreshold: 50 com.oracle.apm.agent.deepdive.traceLifeInMS.maxThreshold: 60000
-