Uso del rastreador de APM en Helidon

Para utilizar el rastreador de APM con Helidon, realice lo siguiente:

  1. Agregue el rastreador de APM al proyecto de Maven. Para obtener más información, consulte Adición del rastreador de APM al proyecto de Maven.
  2. Compruebe la versión de Helidon y agregue su dependencia correspondiente.

    Para Helidon 2, agregue la siguiente dependencia:

    <dependency>
        <groupId>com.oracle.apm.agent.java</groupId>
        <artifactId>apm-java-agent-helidon</artifactId>
        <version>[1.0.1389,)</version>
    </dependency>
    Para Helidon 3 SE, agregue la siguiente dependencia:
    <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, agregue la siguiente dependencia:
    <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, agregue la siguiente dependencia:
    <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>
    Nota

    Para Helidon 4, incluido Helidon 4 MP, consulte Soporte de opentelemetría para Helidon 4.

  3. Configuración para Helidon.

    El rastreador de APM utiliza las siguientes propiedades en el archivo de configuración de Helidon:

    Propiedad Por defecto Necesario Descripción
    name   No Nombre del rastreador. Esta propiedad no puede ser nula.
    service   Nombre del servicio. Esta propiedad no puede ser nula.
    private-data-key   Clave de carga de datos de APM necesaria para la comunicación en la nube del servicio Oracle APM.
    data-upload-endpoint   Punto final de carga de datos de APM necesario para la comunicación en la nube del servicio Oracle APM.
    daemon-channel   No El canal del daemon de APM es una conexión de socket entre el rastreador y el daemon. El formato de este valor de propiedad es <host>:<puerto>.

    Cuando el daemon se inicia con esta propiedad definida, el daemon acepta la conexión del socket y recibe datos en este canal especificado.

    Cuando el rastreador se inicia con este juego, se ignora el punto final de carga de datos y los datos solo se envían al daemon mediante este canal de socket.

    collect-metrics true No

    Recopila métricas del servidor e informa a la nube del servicio OCI APM. El valor por defecto es true.

    El usuario puede acceder a todas las métricas de servidor recopiladas desde la telemetría de OCI.

    collect-resources true No

    Recopila recursos del servidor e informa a la nube del servicio OCI APM.

    Todos los recursos recopilados se utilizan como dimensión para la consulta de datos.

    log-directory apm-tracer-log en el directorio de trabajo de JVM No Ruta completa del directorio de log en el que se escriben todos los logs del rastreador de APM. Si no está definido, se crea el directorio de log por defecto (apm-tracer-log) en el directorio de trabajo de JVM.
    tags   No Etiquetas estáticas que se incluirán en todos los períodos de rastreo.
    properties   No

    Propiedades adicionales del rastreador de APM. Esto permite definir las propiedades mediante programación durante el inicio del rastreador de APM.

    Las propiedades se ignoran si la clave o el valor son nulos.

    Ejemplos:
    • Helidon SE: debe especificarlo en formato YAML. El nombre por defecto es application.yaml. Vea el siguiente ejemplo:
      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

      Lo anterior utiliza el formato preferido para la sección properties. También se admite el siguiente formato:

      tracing:
          ...
          ...
          ...
          properties:
              - key: com.oracle.apm.agent.logging.level
                value: DEBUG
              - key: com.oracle.apm.agent.key1
                value: value123
    • Helidon MP: debe especificarlo en el formato PROPERTIES (clave=valor). El nombre por defecto es microprofile-config.properties. Vea el siguiente ejemplo:
      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
      Lo anterior es el formato preferido para la sección properties, pero también admite el siguiente 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. Si tiene Helidon MP, omita este paso.

    Inicie y configure el trazador de Helidon SE, como la aplicación Main.java, haciendo lo siguiente:

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

    Al utilizar el código anterior, se asegura de que el parámetro TracerBuilder se agregue al proyecto Helidon. Cree un objeto de configuración y utilice el mismo objeto de configuración para crear un parámetro TracerBuilder en Main.java.

    TracerBuilder está iniciando el rastreador de APM como un trazador opentracing y se está registrando al aceptar GlobalTracer.

Soporte de opentelemetría para Helidon 4

Para las aplicaciones de Helidon 4, siga las instrucciones que se muestran en la sección Activar OpenTelemetry en el agente de APM de Configuración del agente Java de APM para que funcione con OpenTelemetry.

Nota

El soporte de Opentracing está en desuso para Helidon 4 MP. Si necesita configurar el soporte de Opentelemetry, consulte Activación de OpenTelemetry en el agente de APM en Configuración del agente Java de APM para que funcione con OpenTelemetry.