Instanciación del rastreador de APM

Siga estos pasos para agregar soporte de rastreo a la aplicación:

Nota

Para la configuración de Helidon, omita estos pasos y consulte Uso del rastreador de APM en Helidon.
  1. Importe las clases de rastreador de opentracing y rastreador de APM haciendo lo siguiente:

    import io.opentracing.Tracer;
    import com.oracle.apm.tracer.ApmTracer;
  2. El rastreador de APM se puede instanciar en el estilo de creador. El constructor de ApmTracer.Builder tiene 2 parámetros: tracerName y serviceName.

    • tracerName: nombre de este rastreador. Puede ser cualquier nombre de cadena, excepto nulo.
    • serviceName: nombre del servicio notificado por este rastreador. Puede ser cualquier cadena, excepto nulo.
    Tracer tracer = new ApmTracer.Builder(String tracerName, String serviceName)            
            .<configuration methods>            
            .build();

Antes de llamar al método build() para crear la instancia de rastreador de APM, se puede configurar con métodos de configuración. Algunos métodos de configuración también se pueden configurar definiendo las propiedades del sistema Java y las variables de entorno.

Métodos de configuración

Método Por defecto Descripción Propiedad del sistema Java equivalente Variable de entorno equivalente
withDataUploadEndpoint(Punto final de cadena)   Defina el punto final de carga de datos de APM necesario para la comunicación en la nube de Oracle APM. com.oracle.apm.agent.data.upload.endpoint com_oracle_apm_agent_data_upload_endpoint
withDataUploadKey(String dataKey)   Defina la clave de carga de datos de APM necesaria para la comunicación en la nube de Oracle APM. com.oracle.apm.agent.private.data.key com_oracle_apm_agent_private_data_key

withTag(String key, String value)

withTag(String key, Boolean value)

withTag(String key, Number value)

withTags(Map<String, Object> tags)

  Defina las etiquetas estáticas que se incluirán en todos los períodos de rastreo.    
withLogDirectory(String directory) ./apm-tracer-log Especifique la ruta completa del directorio de log donde se escriben todos los logs del rastreador de APM. Si se deja sin definir, se crea el directorio de log por defecto, apm-tracer-log, en el directorio de trabajo de JVM. com.oracle.apm.agent.log.directory com_oracle_apm_agent_log_directory

withProperty(String key, String value)

withProperties(Map<String, String> properties)

 

Defina una o más propiedades de rastreador de APM. Esto permite definir las propiedades mediante programación durante el inicio del rastreador de APM. Todas las propiedades también se pueden definir mediante propiedades del sistema Java o variables de entorno.

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

   
withMicrosecondAccurateTimestamp(boolean microsecondAccuracy) false Defina todos los registros de hora en una precisión de microsegundos cuando este valor sea true. El valor por defecto es una precisión de milisegundos.    
withCollectMetrics(boolean collectMetrics) true

Defina el rastreador de APM para que recopile las métricas del servidor y genere informes en la nube de APM de OCI. El valor por defecto es true.

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

Consulte Recopilación de métricas para obtener más información sobre las métricas de servidor recopiladas.

   
withCollectResources(boolean collectResources) true

Define el rastreador de APM para que recopile los recursos del servidor y genere informes en la nube de APM de OCI.

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

Consulte Recopilación de métricas para obtener más información sobre las métricas de servidor recopiladas.

   
withDaemonChannel(String channel)   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 esta definición, se ignora el punto final de carga de datos y los datos solo se envían al daemon mediante este canal de socket. com.oracle.apm.agent.daemon.channel com_oracle_apm_agent_daemon_channel
build()   Instancie la instancia del rastreador de APM.    

Otras propiedades

Las propiedades se pueden definir como propiedades del sistema Java, variables de entorno o mediante el método de creador Property().

Propiedad del sistema Java Variable de entorno Por defecto Descripción
com.oracle.apm.agent.daemon.channel com.oracle.apm.agent.daemon.channel   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 esta definición, se ignora el punto final de carga de datos y los datos solo se envían al daemon mediante este canal de socket.
com.oracle.apm.agent.data.upload.proxy.url com_oracle_apm_agent_data_upload_proxy_url   URL del servidor proxy para la conexión del servidor APM de Oracle. Solo está soportado el proxy HTTP.
com.oracle.apm.agent.log.filesize.mb com_oracle_apm_agent_log_filesize_mb 20mb Tamaño del archivo log. Puede especificar el tamaño del archivo log mediante esta propiedad. El valor por defecto es "20", es decir, 20 MB será el tamaño de archivo de un archivo log.
com.oracle.apm.agent.log.rotation.files.count com_oracle_apm_agent_log_rotation_files_count 2 Número de archivos que se pueden crear para almacenar logs con mecanismo de traspaso. Ejemplo: si especificamos "2" como valor de esta propiedad, los logs se almacenarán en el primer archivo hasta que se alcance el límite de tamaño del archivo. Una vez alcanzado el límite de tamaño del archivo, se creará el nuevo archivo y este seguirá almacenando logs. Tras alcanzar el límite de tamaño de archivo en el segundo archivo, suprimirá el primer archivo y comenzará a almacenar logs en el primer archivo. A los archivos se les asignará un nombre adecuado con un sufijo numérico. Por ejemplo, ApmTracer.log y ApmTracer1.log. El valor por defecto es "2", es decir, se utilizarán 2 archivos para almacenar logs.
com.oracle.apm.agent.logging.level com_oracle_apm_agent_logging_level INFO El nivel de log puede ser SEVERE, WARNING, INFO, DEBUG en orden de menos a más entradas escritas en ApmTracer.log.
com.oracle.apm.agent.tracer.propagation.type com_oracle_apm_agent_tracer_propagation_type B3

El rastreador de APM agregará y leerá cabeceras HTTP para conectar los períodos en las llamadas HTTP. Hay varios tipos de formatos de cabecera de propagación que se pueden utilizar para llevarlo a cabo. Si también trabaja con otros tipos de rastreadores, como Zipkin o Jaeger, puede que sea necesario ajustar este valor para que puedan funcionar juntos.

  • B3: formato por defecto utilizado por el rastreador Zipkin. El rastreador de APM utilizará este valor por defecto.

  • Header names: X-B3-TraceId, X-B3-SpanId, X-B3-ParentSpanId, X-B3-Sampled.

    Tenga en cuenta que el caso de cabecera única (b3) no está soportado actualmente.

  • Jaeger: formato por defecto utilizado por el rastreador Jaeger. Nombres de cabecera: uber-trace-id

  • APM: Formato antiguo utilizado por el rastreador de APM. Nombres de cabecera: X-ORACLE-APM-SPAN-ID, X-ORACLE-APM-TRACE-ID

  • W3C: formato de contexto de rastreo de W3C. Nombres de cabecera: traceparent, tracestate