• EnglishEspañol日本語한국어Português
  • Inicia sesiónComenzar ahora

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

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

Crea una propuesta

Ignorar una transacción específica

New Relic for Ruby le permite deshabilitar selectivamente la instrumentación para solicitudes particulares dentro de su aplicación Rails, Roda o Sinatra.

Bloqueando toda la instrumentación

Llame a newrelic_ignore sin argumentos desde un controlador Rails, una aplicación Roda o una aplicación Sinatra para evitar la instrumentación de todas las solicitudes atendidas por ese controlador o aplicación:

newrelic_ignore

El uso de newrelic_ignore evita que el agente registre cualquier dato de rendimiento (métrica, traza de la transacción, evento, errores de traza, etc.) para la transacción objetivo y también evitará que la transacción contribuya a su puntuación Apdex general.

Ignorar acciones específicas con Rails

Si desea ignorar solo acciones específicas con un controlador Rails, puede usar las opciones :only o :except con newrelic_ignore.

Por ejemplo, para ignorar sólo las acciones index y show en el controlador, utilice:

newrelic_ignore :only => [:index, :show]

Para ignorar todas las acciones en el controlador except index:

newrelic_ignore :except => [:index]

Ignorando rutas específicas con Roda

Ignore rutas específicas en aplicaciones Roda pasando una ruta estilo Roda hacia newrelic_ignore desde fuera del bloque route de su aplicación Roda. Para más información, consulte Roda: Ignorar rutas.

Ignorando rutas específicas con Sinatra

Si desea ignorar solo rutas específicas dentro de su aplicación Sinatra, puede pasar una definición de ruta estilo Sinatra a newrelic_ignore desde su aplicación Sinatra. Para obtener más información, consulte Sinatra: Ignorar rutas.

Ignorando las contribuciones de Apdex

Si desea evitar que todas las acciones en un controlador contribuyan a su puntuación Apdex, pero aún desea obtener otros datos de rendimiento, utilice newrelic_ignore_apdex:

newrelic_ignore_apdex

En una aplicación Rails, newrelic_ignore_apdex admite las mismas opciones:only y :except que newrelic_ignore. En una aplicación Roda o Sinatra, aceptará la misma ruta estilo Roda o ruta estilo Sinatra para apuntar a transacciones específicas.

Bloquear la instrumentación browser

El uso de newrelic_ignore_enduser evita que el agente inserte automáticamente el JavaScript utilizado para capturar datos . La instrumentación del lado del servidor no se verá afectada.

Para evitar la inyección del agente del navegador para todas las acciones en un controlador, agregue una llamada como esta a la clase del controlador:

newrelic_ignore_enduser

En una aplicación Rails, newrelic_ignore_enduser admite las mismas opciones:only y :except que newrelic_ignore. En una aplicación Roda o Sinatra, aceptará la misma ruta estilo Roda o ruta estilo Sinatra para apuntar a transacciones específicas.

Ignorar la transacción dinámicamente

En algunos casos, es posible que desee basar la decisión de ignorar una transacción específica en criterios que sólo se conocen en tiempo de ejecución, durante la solicitud. Para escenarios como este, los mecanismos declarativos explicados anteriormente no son adecuados. A partir de la versión 3.9.2 del agente Ruby, en su lugar, puedes utilizar la siguiente familia de API de llamada desde cualquier punto dentro de tu transacción:

NewRelic::Agent.ignore_transaction
NewRelic::Agent.ignore_apdex
NewRelic::Agent.ignore_enduser

Estos métodos tendrán resultados similares a las llamadas newrelic_ignore, newrelic_ignore_apdex y newrelic_ignore_enduser , pero se pueden llamar durante una solicitud en lugar de durante la definición de clase.

Ignorando transacción por URL con configuración

Puede ignorar la transacción por URL usando la configuración rules.ignore_url_regexes :

rules:
ignore_url_regexes: ["secret", "^/admin"]

Esta configuración solo evitará que se informen eventos de transacción que coincidan con el patrón establecido. Utilice cualquiera de la familia de métodos newrelic_ignore* si desea evitar que todos los datos, como los datos de traza, se informen de una transacción.

Tenga en cuenta que las expresiones regulares no incluyen ningún tipo de anclaje de forma predeterminada. La expresión regular /secret/ coincidirá con 'newrelic.com/secret/login' y también coincidirá con 'newrelic.com/users/secretpanda'. La expresión regular del administrador anclada coincidirá con 'newrelic.com/admin/praetorians' pero no coincidirá con 'newrelic.com/users/totally-real-admin'.

Si es necesario, también puede proporcionar una lista de expresiones regulares en una cadena separada por comas, lo que le permitirá ignorar expresiones regulares con una variable de entorno:

NEW_RELIC_RULES_IGNORE_URL_REGEXES="secret,^/admin"

Como siempre, la configuración de las variables de entorno anulará la configuración en newrelic.yml.

Resolución de problemas

La familia de métodos newrelic_ignore* solo funcionará dentro de las clases de controlador Rails, fuera del bloque route de la aplicación Roda (subclases de Roda) o dentro de la aplicación Sinatra (subclases de Sinatra::Base). Otra aplicación debe utilizar la familia NewRelic::Agent.ignore_* de llamadas dentro de cada solicitud que desee ignorar, que funcionará en cualquier contexto.

Si obtiene un NoMethodError cuando intenta usar newrelic_ignore desde un controlador Rails, una aplicación Roda o una aplicación Sinatra, asegúrese de que se haya requerido newrelic_rpm antes de intentar llamar newrelic_ignore dentro de su definición de clase.

Copyright © 2024 New Relic Inc.

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