Uso del rastreador de APM en Micronaut

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

  1. Versión de confirmación: el rastreador de APM en Micronaut está soportado con la versión 1.7 o superior del agente de APM.
  2. 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.
  3. Agregue la dependencia en pom.xml.
    • Para Micronaut 3.x, añada lo siguiente:
      <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, añada lo siguiente:
      <dependency>
       <groupId>com.oracle.apm.agent.java</groupId>
          <artifactId>apm-java-agent-micronaut4</artifactId>
          <version>[1.14.0.455,)</version>
      </dependency>
  4. La integración de rastreo de Micronaut registra un bean io.opentracing.tracer que expone la API de rastreo abierta. La dependencia anterior se utilizará para configurar el rastreador de APM como el rastreador por defecto (global).
  5. Configuración de rastreo para Micronaut.

    El rastreador de APM utiliza las siguientes propiedades en el archivo application.yml de Micronaut:

    Propiedad Por defecto Necesario Descripción

    activado

    false Propiedad para activar el rastreador de APM. El valor por defecto es false. Esto no puede ser nulo.

    clave de carga de datos

      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.
    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.

    La siguiente configuración se debe agregar como nodo secundario (oracleapm) de la sección tracing del archivo application.yml:
    micronaut:
      server:
      application:
        name: micronaut_trace_demo
    tracing:
      oracleapm:
        …
    Ejemplo:
    • Debe especificarla en formato YAML. El nombre del archivo por defecto es application.yml. Vea el siguiente ejemplo:
      
      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
  6. Instantáneas de Thread: el rastreador OracleApm soporta la función de instantáneas de thread.

    Las instantáneas de thread permiten la recopilación de instantáneas de pila de thread que se puede utilizar para el análisis de inmersión profunda. Para obtener más información sobre las instantáneas de thread, consulte Configure Thread Snapshots in APM Tracer.

    Para configurar instantáneas de threads para Micronaut, haga lo siguiente:
    • Abra el archivo de configuración application.yml, vaya a la sección seguimiento y agregue lo siguiente:
      collect-deep-dive-trace-snapshot: true
    • Agregue la nueva sección deep-dive-properties con las propiedades de instantáneas de subprocesos en tracing:

      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

    Ejemplo:

    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