• EnglishEspañol日本語한국어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

Marco PHP: integración del soporte para New Relic

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 Database/select o Database/update cada vez que un usuario selecciona o actualiza datos.

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 menu_execute_active_handler(). Esto llama a call_user_func_array(), siendo el primer argumento el nombre de la acción. Eso es lo que se debe establecer como nombre de la transacción web.

CakePHP 1.3

CakePHP tiene una clase Dispatcher con un método _invoke . Esto llama a la clase de controlador adecuada con una acción determinada y la transacción se denomina controller/action donde controller es el nombre de la clase de controlador.

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.

Copyright © 2024 New Relic Inc.

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