La API New Relic agente de Java le permite controlar, personalizar y ampliar la funcionalidad del agente de Java. Esta API consta de:
- Métodos estáticos en la clase
com.newrelic.api.agent.NewRelic
- Una anotación @Trace para implementar instrumentación personalizada
- Una jerarquía de objetos API que proporciona funcionalidad adicional
Utilice esta API para configurar la instrumentación personalizada de su aplicación Java y recopilar datos más detallados. Para obtener información detallada sobre esta API, consulte el Javadoc completo en GitHub.
Otra forma de configurar instrumentación personalizada es utilizar instrumentación XML. La opción XML es más simple y no requiere modificación del código de su aplicación, pero carece de la funcionalidad completa de la API del agente de Java.
Importante
Para obtener mejores resultados al utilizar la API, asegúrese de tener la última versión del agente de Java. Varias API utilizadas en los ejemplos requieren agente de Java 6.4.0 o superior.
Para conocer todas las API de New Relic disponibles, consulte Introducción a las API.
Utilice la API
Para acceder a la API, descárguela desde maven central mediante una herramienta de compilación.
A continuación se muestra un ejemplo de gradle donde puede reemplazar ${agent.version}
con la versión de su agente:
implementation 'com.newrelic.agent.java:newrelic-api:${agent.version}'
Puede llamar a la API incluso sin que el agente se esté ejecutando, pero los métodos no funcionarán hasta que el agente cargue su aplicación.
Transacción
Para instrumentar Transactions
en su aplicación, utilice las siguientes API.
Si quieres... | Utilizar esta |
---|---|
Crea un |
|
Captura la duración de un método que New Relic no traza automáticamente |
|
Establecer el nombre de la corriente | |
Inicie el cronómetro para el tiempo de respuesta del | |
Agregue un atributo personalizado a | |
Agrega seguimiento de usuarios a | |
Evitar que un | |
Excluye un |
Ver registro relacionado
Para ver el registro directamente dentro del contexto de los errores y la traza de su aplicación, use estas llamadas API para anotar su registro:
Para obtener más información sobre cómo correlacionar los datos log con otros telemetry data, consulte nuestra documentación logs en el contexto .
Instrumentar el trabajo asincrónico
Para obtener información detallada, consulte agente de Java API para aplicación asincrónica.
Si quieres... | Utilizar esta |
---|---|
Traza un método asíncrono si está vinculado a un | |
Vincular el | |
Caducar un | |
Deje de cronometrar un | |
Dejar de cronometrar un |
Uso de API de rastreo distribuido
Estas API requieren que rastreo distribuido esté habilitado. Consulte la configuración del agente de Java para conocer todas las opciones de configuración del rastreo distribuido.
Rastreo distribuido te permite ver el camino que sigue una solicitud a medida que viaja a través de un sistema distribuido. Para obtener instrucciones generales sobre cómo utilizar las siguientes llamadas para implementar rastreo distribuido, consulte Usar las API de rastreo distribuido. Para ver estas API en acción, consulte Uso del agente de Java para distribuir API de seguimiento con Kafka.
Importante
Con la versión 6.4.0 del agente, se introdujeron las siguientes API de rastreo distribuido, con la excepción de addCustomAttribute()
, que se introdujo en 6.1.0. Recomendamos encarecidamente utilizar estas API en lugar de las obsoletas.
Si quieres... | Utilizar esta |
---|---|
Obtenga información sobre los encabezados de tipo específico de un mensaje entrante o saliente. | Para una implementación proporcionada de Vea un ejemplo de implementación de encabezados W3C Trace Context en el uso de la API de DT con Kafka. |
Cree e inserte encabezados de rastreo distribuido en una estructura de datos | Para obtener más información sobre cómo obtener referencias a la transacción actual y otras clases de API, consulte Obtener referencias. |
Acepte los encabezados de rastreo distribuido enviados desde el servicio de llamadas y vincule estos servicios en un rastreo distribuido. | Para obtener más información sobre cómo obtener referencias a la transacción actual y otras clases de API, consulte Obtener referencias. |
Comprenda una clase de utilidad que proporciona constantes de enumeración para definir el tipo de transporte al aceptar encabezados distribuidos de rastreo. | |
Agregar atributo personalizado a |
|
Advertencia
Con la versión 6.4.0 del agente, las siguientes API de rastreo distribuido han quedado obsoletas y reemplazadas por las API de la tabla anterior. Se recomienda encarecidamente actualizar el agente y utilizar las nuevas API en lugar de estas obsoletas.
Si quieres... | Utilizar esta |
---|---|
Cree una carga útil para enviarla a un servicio llamado. | Para obtener más información sobre cómo obtener referencias a la transacción actual y otras clases de API, consulte Obtener referencias. AdvertenciaAPI obsoleta a partir del agente 6.4.0 |
Aceptar una carga útil enviada desde el primer servicio; esto unirá estos servicios en una traza. | Para obtener más información sobre cómo obtener referencias a la transacción actual y otras clases de API, consulte Obtener referencias. AdvertenciaAPI obsoleta a partir del agente 6.4.0 |
Carga utilizada para conectar servicios. La llamada |
AdvertenciaAPI obsoleta a partir del agente 6.4.0 |
Carga utilizada para conectar servicios. La llamada |
AdvertenciaAPI obsoleta a partir del agente 6.4.0 |
Uso de API de seguimiento de múltiples aplicaciones (CAT)
Importante
El seguimiento de aplicaciones múltiples ha quedado obsoleto a partir de la versión 7.4.0 del agente y se eliminará en una versión futura del agente.
En lugar de utilizar el rastreo multiaplicación, recomendamos nuestra característica rastreo distribuido . rastreo distribuido es una mejora de la característica de rastreo multiaplicación y se recomienda para sistemas distribuidos grandes.
Para rastrear llamadas externas y agregar rastreo de múltiples aplicaciones, use las siguientes API:
Si quieres... | Utilizar esta |
---|---|
Traza a través de un canal de transporte personalizado que New Relic no admite de forma predeterminada, como un transporte RPC propietario | Consulte también la información de este documento sobre el uso |
Ver o cambiar el nombre de la métrica o el nombre de una métrica acumulada de un (El nombre de una métrica acumulada, como | Consulte también la información de este documento sobre el uso |
Informar una llamada a un servicio HTTP externo, servidor de base de datos, cola de mensajes u otro recurso externo que se está trazando utilizando la anotación |
Consulte también la información de este documento sobre el uso |
Habilite y agregue seguimiento de aplicaciones múltiples cuando se comunique con un servicio HTTP o JMS externo instrumentado por New Relic |
Consulte también la información de este documento sobre el uso |
Agregar tiempo para un servidor de aplicaciones o despachador que no es compatible automáticamente |
Consulte también la información de este documento sobre el uso |
Obtener referencias a las clases API de New Relic
Otras tareas requieren el objeto New Relic Agent
. El objeto Agent
expone varios objetos que le brindan la siguiente funcionalidad:
Si quieres... | Utilizar esta |
---|---|
Obtener una referencia a la actualidad | |
Obtenga un | |
Comience y obtenga una referencia a un | |
Obtener una referencia del método que se está trazando actualmente. | |
Obtener una referencia al logger | |
Obtener una referencia a la configuración | |
Obtenga una referencia a un agregador de métrica personalizada | |
Obtener una referencia a |
Funcionalidad API adicional
Las siguientes API brindan funcionalidad adicional, como configurar información del servidor de aplicaciones, informar errores, agregar información de tiempo de carga de la página , registrar métrica personalizada y enviar eventos personalizados.
Si quieres... | Utilizar esta |
---|---|
Establecer explícitamente la información de puerto, nombre y versión para un servidor de aplicaciones o despachador y el nombre de instancia para una JVM | |
Informar un error que New Relic no informa automáticamente | Dentro de una transacción, gana la última llamada a |
Agrupe los errores con su propia huella digital definida personalizada; implemente la interfaz |
|
Configure su propia huella digital de error mediante una función de devolución de llamada. Para registrar un | |
Agregue el tiempo de carga de la página del browser para | |
Crear y acumular métricas personalizadas |
|
Grabar evento personalizado |
O utilice Consulte también la información de este documento sobre el uso |
Ejemplos de uso de API adicionales
Para obtener ejemplos de código detallados sobre el uso de las API, consulte la documentación de New Relic sobre instrumentación personalizada para:
- Llamadas externas, multiaplicación traza, mensajería, datastores y framework web
- Rastreo multiaplicación y almacenamiento externo de datos de llamadas
- Aplicaciones que utilizan instrumentación personalizada con anotaciones
- API de instrumentación framework personalizado
- Prevención de instrumentación no deseada
- Insertar atributo personalizado
- Insertar evento personalizado
- Recogida métrica personalizada