Usar o Rastreador do APM no Helidon

Para usar o Rastreador do APM com o Helidon, faça o seguinte:

  1. Adicione o Rastreador do APM ao projeto Maven. Para obter detalhes, consulte Adicionar Rastreador do APM ao Projeto Maven.
  2. Verifique a versão do Helidon e adicione sua dependência correspondente.

    Para Helidon 2, adicione a seguinte dependência:

    <dependency>
        <groupId>com.oracle.apm.agent.java</groupId>
        <artifactId>apm-java-agent-helidon</artifactId>
        <version>[1.0.1389,)</version>
    </dependency>
    Para o Helidon 3 SE, adicione a seguinte dependência:
    <dependency>
        <groupId>io.helidon.tracing</groupId>
        <artifactId>helidon-tracing-opentracing</artifactId>
    </dependency>         
    <dependency>
        <groupId>com.oracle.apm.agent.java</groupId>
        <artifactId>apm-java-agent-helidon3</artifactId>
        <version>[1.8.3326,)</version>
    </dependency>
    Para Helidon 3 MP, adicione a seguinte dependência:
    <dependency>
        <groupId>io.helidon.tracing</groupId>
        <artifactId>helidon-tracing-opentracing</artifactId>
    </dependency>         
    <dependency> 
        <groupId>io.helidon.microprofile.tracing</groupId> 
        <artifactId>helidon-microprofile-tracing</artifactId> 
    </dependency>
    <dependency>
        <groupId>com.oracle.apm.agent.java</groupId>
        <artifactId>apm-java-agent-helidon3</artifactId>
        <version>[1.8.3326,)</version>
    </dependency>
    Para Helidon 4 SE, adicione a seguinte dependência:
    <dependency>
        <groupId>io.helidon.tracing</groupId>
        <artifactId>helidon-tracing-opentracing</artifactId>
    </dependency>
    <dependency>
        <groupId>io.helidon.tracing.providers</groupId>
        <artifactId>helidon-tracing-providers-opentracing</artifactId>
    </dependency>        
    <dependency>
        <groupId>com.oracle.apm.agent.java</groupId>
        <artifactId>apm-java-agent-helidon4</artifactId>
        <version>[1.15.0.516,)</version>
    </dependency>
    Observação

    Para Helidon 4, incluindo Helidon 4 MP, consulte Suporte de Opentelemetria para Helidon 4.

  3. Configuração do Helidon.

    O Rastreamento do APM usa as seguintes propriedades no arquivo de configuração do Helidon:

    Property Padrão Obrigatório Descrição
    name   Não Nome do rastreador. Esta propriedade não pode ser nula.
    service   Sim Nome do serviço. Esta propriedade não pode ser nula.
    private-data-key   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.
    daemon-channel   Não O canal do Daemon do APM é uma conexão de soquete entre o Rastreador e o Daemon. O formato deste valor de propriedade é <host>:<porta>.

    Quando o Daemon é iniciado com este conjunto de propriedades, o Daemon aceita a conexão do soquete e faz listening dos dados neste canal especificado.

    Quando o Rastreador é iniciado com este conjunto, o ponto final de upload de dados é ignorado e os dados só são enviados para o Daemon usando esse canal de soquete.

    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.

    Exemplos:
    • Helidon SE: Você precisa especificá-lo no formato YAML. O nome padrão é application.yaml. Consulte o exemplo abaixo:
      tracing:
          service: "helidon-http"
          data-upload-endpoint: <data upload endpoint of your OCI domain>
          private-data-key: <privatedata key of your OCI domain>
          collect-metrics: true
          collect-resources: true
          log-directory: "/user/apm/log"
          tags:
              tag1: true
              tag2: 1234
              tag3: "hello"
          properties:
              com.oracle.apm.agent.logging.level: DEBUG
              com.oracle.apm.agent.key1: value123

      O texto acima usa o formato preferencial para a seção properties. O seguinte formato também é suportado:

      tracing:
          ...
          ...
          ...
          properties:
              - key: com.oracle.apm.agent.logging.level
                value: DEBUG
              - key: com.oracle.apm.agent.key1
                value: value123
    • Helidon MP: Você precisa especificá-lo no formato PROPERTIES (chave=valor). O nome padrão é microprofile-config.properties. Consulte o exemplo abaixo:
      tracing.service=my-helidon-service
      tracing.data-upload-endpoint=<data upload endpoint of your OCI domain>
      tracing.private-data-key=<private data key of your OCI domain>
      tracing.collect-metrics=true
      tracing.collect-resources=true
      tracing.log-directory=/user/apm/log
      tracing.tags.tag1=true
      tracing.tags.tag2=1234
      tracing.tags.tag3=hello
      tracing.properties.com.oracle.apm.agent.data.upload.file=stdout
      tracing.properties.com.oracle.apm.agent.json.pretty=true
      O formato acima é o preferido para a seção properties, mas também suporta o seguinte formato:
      tracing.service=my-helidon-service
      ...
      ...
      ...
      tracing.properties.0.key=com.oracle.apm.agent.data.upload.file
      tracing.properties.0.value=stdout
      tracing.properties.1.key=com.oracle.apm.agent.json.pretty
      tracing.properties.1.value=true
  4. Se você tem Helidon MP, pule este passo.

    Inicie e configure o rastreador do Helidon SE, como o aplicativo Main.java, fazendo o seguinte:

    Tracer tracer = TracerBuilder.create(Config.create()).build();

    Ao usar o código acima, você está garantindo que o parâmetro TracerBuilder esteja sendo adicionado no projeto Helidon. Você cria um objeto de configuração e usa o mesmo objeto de configuração para criar um TracerBuilder em Main.java.

    O TracerBuilder está iniciando o APM Tracer como um rastreador de oposição e está sendo registrado no opentracing GlobalTracer.

Suporte de Opentelemetria para Helidon 4

Para aplicativos Helidon 4, siga as instruções listadas na seção Ativar OpenTelemetry no Agente do APM em Configurar o Agente Java do APM para Trabalhar com OpenTelemetry.

Observação

O suporte ao Opentracing está obsoleto para Helidon 4 MP. Se você precisar configurar o suporte à Opentelemetria, consulte Ativar OpenTelemetry no Agente do APM em Configurar o Agente Java do APM para Trabalhar com OpenTelemetry.