• 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

Envío de errores manejados a New Relic

Para enviar datos de error que está manejando en su propio código a New Relic, use la llamada Ruby API del agente NewRelic::Agent.notice_error dentro de su controlador de errores.

Notificar al agente de New Relic Ruby sobre un error

Esta llamada API toma la excepción y un hash de opciones opcional. Utilice este formato:

NewRelic::Agent.notice_error(exception, options = { })Object

Esta función registra el error dado y lo pasa por el proceso normal de filtrado de errores, incluida la ignorancia de errores basada en la configuración y el método global #ignore_error_filter , si está definido.

El exception es la excepción que se registrará o un mensaje de error. Si es necesario, también puede incluir options = { }. El siguiente parámetro recibirá un tratamiento especial y cualquier otro parámetro que proporcione se tratará como parámetro personalizado.

options = { }

Comments

:expected

Sólo registra el error de traza. Esto no afecta la tasa de errores ni el estado de Apdex. Para obtener información sobre el error esperado en la UI, consulte Ver error esperado.

Reemplaza la opción :trace_only , que quedó obsoleta en la versión 4.3.x del agente Ruby.

:custom_params

Parámetro personalizado.

:uri

La ruta de la solicitud, menos cualquier parámetro de solicitud o cadena de consulta.

Generalmente no es necesario. Incluya esto solo si llama notice_error fuera de una transacción.

:metric

El nombre de la métrica asociada con la transacción.

Generalmente no es necesario. Incluya esto solo si llama notice_error fuera de una transacción.

:request_params (obsoleto)

Las versiones anteriores del agente Ruby permitían pasar una opción :request_params , pero ahora se ignoran. Si necesita registrar el parámetro de solicitud, llame a este método dentro de una transacción o pase la información en :custom_params.

Error huellas dactilares: aplica dinámicamente un grupo de errores a cada error detectado

¿Están mal agrupadas sus ocurrencias de errores? Configure su propia huella digital de error mediante una función de devolución de llamada.

Se puede proporcionar una devolución de llamada basada en Proc al agente para aplicar dinámicamente un grupo de errores deseado a cada error detectado. Utilice la API del agente Ruby NewRelic::Agent.set_error_group_callback para proporcionarle al agente una devolución de llamada.

Esta llamada API toma un método de devolución de llamada (debe ser del tipo Proc) como único argumento. El argumento es necesario. La llamada API solo debe realizarse una vez por lanzamiento del agente New Relic Ruby, por lo que la llamada se puede realizar en un inicializador Rails o similar. Si se realizan llamadas posteriores a la API, el método de devolución de llamada se actualizará al más nuevo proporcionado. A continuación se muestra un ejemplo de una devolución de llamada definida y pasada al método API NewRelic::Agent.set_error_group_callback :

proc = proc { |hash| "Access" if hash[:'http.statusCode'] == 401 }
NewRelic::Agent.set_error_group_callback(proc)

En el ejemplo mostrado, se crea un proceso de devolución de llamada que aceptará un hash como único argumento y luego devolverá la cadena "Acceso" para el nombre del grupo de errores deseado si el hash contiene una clave de código de estado HTTP con un valor de 401.

Se espera que el proceso de devolución de llamada reciba exactamente un argumento de entrada, un hash. El hash contiene lo siguiente:

Key

Value

:error

La instancia de clase de error de Ruby. Ofertas #class, #message y #backtrace

:customAttributes

Cualquier atributo personalizado para la transacción actual

:'request.uri'

El URI de solicitud actual, si está disponible

:'http.statusCode'

El código de estado HTTP (200, 404, etc.) si está disponible

:'http.method'

El método HTTP (GET, PUT, etc.) si está disponible

:'error.expected'

Si (verdadero) o no (falso) se esperaba el error

:'options'

El hash de opciones pasó a NewRelic::Agent.notice_error

Se espera que el proceso de devolución de llamada devuelva una cadena que represente el nombre del grupo de errores deseado, si se puede determinar. Si el proceso devuelve un nil o una cadena vacía (''), entonces el error recibirá la lógica de agrupación del lado del servidor.

Seguimiento de usuarios: asociar un ID de usuario a cada transacción y error

Ahora puede ver la cantidad de usuarios afectados por un grupo de error.

Las transacciones y los errores se pueden asociar con una identificación de usuario si el agente de New Relic Ruby la conoce. Utilice la API del agente Ruby NewRelic::Agent.set_user_id para proporcionar al agente un ID de usuario.

Esta llamada API requiere un único argumento de una cadena que represente un identificador único para un usuario final. Esta cadena puede ser un UUID, una identificación de base de datos o similar. La llamada API debe realizarse al menos una vez por transacción para informar al agente de New Relic Ruby con qué ID de usuario asociar la transacción. Luego, a su vez, cuando el agente detecta errores durante la vida útil de la transacción, los errores llevarán un atributo de agente enduser.id que contiene el valor de ID de usuario.

Debido a que la API está diseñada para ser llamada cada vez que una nueva ID de usuario ingresa al alcance, idealmente se llamará a través de un middleware que tenga en cuenta la creación de la sesión del usuario. Una vez que el agente de New Relic Ruby tenga conocimiento del ID de usuario, proporcionará el atributo de agente enduser.id en la transacción actual, así como en cualquier error detectado durante la vida útil de la transacción actual.

Copyright © 2024 New Relic Inc.

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