• /
  • EnglishEspañolFrançais日本語한국어Português
  • Inicia sesiónComenzar ahora

Te ofrecemos esta traducción automática para facilitar la lectura.

En caso de que haya discrepancias entre la versión en inglés y la versión traducida, se entiende que prevalece la versión en inglés. Visita esta página para obtener más información.

Crea una propuesta

Rastreo distribuido para tus servicios PHP

Rastreo distribuido te permite ver el recorrido completo de tus solicitudes a lo largo de un sistema distribuido. El agente PHP instrumentado automáticamente con rastreo distribuyó una serie de funciones PHP nativas, así como algunos clientes HTTP de terceros:

Para el agente PHP, ofrecemos dos tipos de rastreo distribuido (para más detalles, consulte Cómo funciona el muestreo de intervalo):

  • Estándar (muestreo head-based): Antes de que llegue cualquier traza, determinamos un porcentaje determinado de traza para aceptar y analizar. Esto le brinda un punto de partida sólido para ver cómo el rastreo puede ayudarlo. Está activado de forma predeterminada en agente PHP 9.21.0 y superior.

  • Rastreo infinito (ejemplificación al final): Nuestro servicio basado en la nube acepta todos sus trazos y luego los clasifica para encontrar los más importantes. Infinite tracing analiza todos tus trazos y te brinda opciones de configuración para tomar muestra de los trazos que más te interesan.

Ya sea que simplemente desee probar el rastreo distribuido estándar (ejemplificación al inicio) o también desee configurar el rastreo infinito (ejemplificación al final), debe comenzar configurando el rastreo estándar.

Rastreo estándar distribuido

Este es el mejor enfoque para configurar el rastreo distribuido estándar si aún no instaló ningún agente APM para sus servicios.

Sugerencia

Cuando instala el agente PHP New Relic, el rastreo distribuido estándar se activa de forma predeterminada. Si prefiere desactivarlo, consulte nuestra guía de configuración.

Identificar servicios

Averigüe qué servicios se relacionan con su solicitud para que pueda instrumentar cada uno de ellos para enviar datos de traza a New Relic.

Instrumentar cada servicio con un agente APM

Para cada servicio involucrado en sus transacciones, deberá realizar una instalación separada del agente. Si algunos de sus servicios emplean otros idiomas, simplemente repita los pasos de instalación para esos idiomas.

Para iniciar la rutina de instalación, haga clic en el mosaico a continuación. Cuando haya terminado de instalar cada agente, regrese aquí para ver consejos para ver su traza.

PHP
Start installation

Ver traza

Después de instrumentar cada uno de sus servicios con el agente APM, genere algo de tráfico en su aplicación para que podamos capturar alguna traza. A continuación se muestran algunas formas de ver su traza en la UI:

Para obtener más ayuda para encontrar su traza en la UI:

Rastreo infinito

El rastreo estándar distribuido por el agente APM captura hasta 10 rastreos por minuto, pero si desea que analicemos todos sus datos y encontremos los rastreos más relevantes, puede configurar el Rastreo Infinito.

Antes de comenzar, cerciorar primero de cumplir con los requisitos.

Complete la configuración para el rastreo distribuido estándar.

La configuración de Infinite Tracing se basa en el rastreo distribuido estándar. Por lo tanto, cerciorar de completar los pasos anteriores y luego continúe con la configuración del observador traza.

Configurar el observador de trazas

El observador de trazas es un servicio de New Relic basado en AWS que recopila y analiza todas sus trazas. Siga las instrucciones en Configurar traza observer. Cuando haya terminado, regrese aquí con su información de observador de traza y continúe con el siguiente paso para configurar el agente.

Configurar el agente para Infinite Tracing

Los ajustes de configuración de Infinite Tracing incluyen el rastreo estándar distribuido más información sobre el observador de traza. Tenga en cuenta que la configuración del lado del servidor no está disponible para Infinite Tracing.

Sugerencia

Si necesita ayuda con la configuración del proxy, consulte Soporte de proxy.

(Opcional) Personalizar el seguimiento infinito

Después de agregar los ajustes de configuración del agente, debería comenzar a ver datos en la UI de New Relic. Después de pasar algún tiempo analizando sus datos, es posible que desee ajustar algunas de las características de Infinite Tracing:

Establecer nivel de detalle de la traza

El soporte de rastreo distribuido depende del rastreador de transacciones del agente PHP. Cuando el rastreo distribuido está habilitado, se crea un tramo para cada segmento visto por el rastreador de transacciones.

A medida que se muestrean los intervalos, el agente PHP dará prioridad a los intervalos relacionados con llamadas externas por encima de otros intervalos, que luego se registran en orden descendente de duración.

Si descubre que se informan demasiados intervalos sin importancia para las llamadas a funciones PHP, puede reducir el detalle del rastreador de transacciones configurando newrelic.transaction_tracer.detail en 0. Luego puede usar la configuración newrelic.transaction_tracer.custom o el método API newrelic_add_custom_tracer para agregar segmentos y tramos de traza para la función PHP específica o los métodos que desea agregar a su traza.

Importante

Para las versiones del agente PHP 8.4 a 8.7: cuando rastreo distribuido está habilitado, estas versiones se comportan como si newrelic.transaction_tracer.detail estuviera configurado en 0 (como se describe anteriormente), lo que da como resultado que las llamadas a funciones de PHP no generen intervalos. Para obtener intervalos relacionados con llamadas a funciones PHP, actualice a la versión 9.0 o superior.

Aplicación y servicios de instrumento manual con API de agente PHP

Importante

La compatibilidad con W3C Trace Context se agregó en la versión 9.8. Con esto, la API para aplicaciones instrumentadas manualmente ha cambiado de las funciones relacionadas con la carga útil JSON:

newrelic_create_distributed_trace_payload()
newrelic_accept_distributed_trace_payload($payload)

A los formularios de matriz de encabezado:

newrelic_insert_distributed_trace_headers($outbound_headers)
newrelic_accept_distributed_trace_headers($inbound_headers)

Las funciones JSON ahora se consideran obsoletas y se eliminarán en una versión futura.

Si está utilizando una biblioteca no compatible o tiene un componente de sistemas distribuidos no basado en HTTP (como cola de mensajes), puede usar la API del agente PHP para identificar manualmente las transacciones que se incluirán en un rastreo distribuido. Este es un proceso de dos pasos:

  1. Modifica tu servicio o aplicación a create o insert los datos del rastreo distribuido
  2. Modifique su servicio o aplicación a accept datos de rastreo distribuido creados por otras transacciones o solicitudes.

El siguiente ejemplo utiliza una cola genérica de mensajes/trabajos. Si bien los detalles reales variarán según el tipo de sistema que intente agregar a un rastreo distribuido, los conceptos básicos son los mismos. Además, aunque hemos utilizado una cola de trabajos como ejemplo, puedes utilizar estos métodos con el componente any sistemas distribuidos.

Sugerencia

Cuando create a payload o insert headers, le estás diciendo a New Relic que deseas que esta solicitud o transacción o solicitud participe en un rastreo distribuido. Cuando los accept , vincula la solicitud o transacción actual con su solicitud o transacción principal.

Para obtener más información sobre el uso de instrumentación manual para obtener más detalles o ver conexiones entre servicios, consulte la documentación sobre las API de rastreo distribuida.

API de encabezado

API de carga útil (obsoleta)

Programas PHP de línea de comando

Los programas PHP ejecutados desde la línea de comando PHP siempre son muestreados por el rastreador distribuido del agente. Dependiendo de los programas que ejecutes, estos procesos podrían tener una sobrerrepresentación en tu colección de rastreo distribuido. En estas situaciones, puede optar por desactivar la instrumentación de línea de comando utilizando la configuración per-directory newrelic.enabled en su newrelic.ini files.

Copyright © 2025 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.