Este documento es un monitoreo de IA a los desarrolladores o mantenedores del framework PHP. Sugiere formas de ampliar su framework agregando soporte para New Relic.
El agente PHP admite el marco averiguando en qué parte del código framework se puede nombrar apropiadamente transacción web y nombrando transacción web según la información encontrada en la clase, llamada a función, etc. Esta solución es frágil y está sujeta a que los desarrolladores modifiquen su código. New Relic alienta a los desarrolladores framework a realizar las pocas llamadas necesarias para mejorar la experiencia del usuario lista para usar con el framework que mantienen.
Ayuda a tu usuario
New Relic puede identificar el nombre de la transacción web y dónde insertar encabezados y pies de página de JavaScript para de New Relic. Sin embargo, para mejorar la experiencia del usuario final, aumentar el rendimiento y facilitar el mantenimiento del código, los desarrolladores framework deberían hacer este trabajo ellos mismos.
Depende de los desarrolladores de los distintos marcos decidir si quieren ayudar a su usuario agregando soporte nativo para New Relic. En casi todos los casos, agregar soporte para New Relic implica insertar tres API de llamada en algún lugar del código framework .
Terminología
Para comprender cuál es la mejor manera de agregar soporte para New Relic, es útil comprender algunos de los puntos clave de interacción.
Term | Definition |
---|---|
Web transactions | Web transactions son solicitudes de activos (o visitas de usuarios) a su sitio. Con el marco, esto suele ser manejado por un mecanismo de despacho MVC. |
Metrics | Metrics Se denominan entidades que reportan información temporal. New Relic utiliza estas métricas para generar gráficos y páginas, como la página APM Summary . Por ejemplo, New Relic instrumentado llama a MySQL y genera métrica llamada Métrica sólo contiene datos de sincronización. |
Transaction traces | Durante cada período de cosecha, New Relic registra la transacción web más lenta que cae por debajo de un umbral definido por el usuario. Este es un transaction trace. Tiene más detalle que la simple métrica. Si está habilitado, incluirá un gráfico de llamadas detallado de exactamente qué funciones se llamaron y cuánto tiempo tardaron. Para declaraciones de consulta lenta, confunde todos los datos de la llamada. |
Nombre transacción
El nombre que le des a tu transacción web afectará la calidad de la experiencia del usuario.
Importante
No utilice corchetes [suffix]
al final del nombre de su transacción. New Relic elimina automáticamente los corchetes del nombre. En su lugar, utilice paréntesis (suffix)
u otros símbolos si es necesario.
Examples:
Si tiene un framework estilo blog, nombraría las distintas transacciones según la actividad del usuario: display
, edit
, login
, etc.
Si utiliza una arquitectura MVC, una convención de nomenclatura adecuada es controller/action
. No incluya ningún dato específico de la solicitud en el nombre de la transacción. Por ejemplo, el uso de la URL de solicitud real genera problemas de agrupación métrica.
Platform | Transaction naming example |
---|---|
Drupal 7 | El envío se realiza en |
CakePHP 1.3 | CakePHP tiene una clase |
En el punto donde desea enrutar el código a un controlador y una acción específicos (si está usando MVC) o a una acción (si no está usando MVC), inserte un código similar a este:
Controller and action (cuando se usa MVC):
if (extension_loaded ('newrelic')) { newrelic_name_transaction ($controller . '/' . $action);}
Action only (sin usar MVC):
if (extension_loaded ('newrelic')) { newrelic_name_transaction ($action);}
Inserte el encabezado y pie de página de JavaScript
Para el tiempo de carga de la página (a veces denominado monitoreo de usuarios reales o RUM), inserte el encabezado y pie de página de JavaScript. Esto le permite monitor la experiencia del usuario final de la página generada.
Recommendation:
Si su framework tiene una función central que genera todos los encabezados y pies de página, instale el código JavaScript aquí.
Para marcos basados en plantillas, insértelos en sus plantillas de encabezado y pie de página.