• /
  • 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

Envío de errores manejados a New Relic

|View as Markdown (English)

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

Notify the New Relic Ruby agent of an 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 los parámetros de la solicitud, llame a este método dentro de una transacción o pase la información en :custom_params.

Huellas dactilares de errores: aplicar 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 con 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 Ruby de New Relic la conoce. Utilice la API del agente Ruby NewRelic::Agent.set_user_id para proporcionarle 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.

Seguimiento de versiones: use metadatos para ver qué versión produjo un error

Errors inbox will automatically track which versions of your software are producing errors.

Establezca una de las siguientes variables de entorno para ayudar a identificar qué versiones de su software producen errores.

  • NEW_RELIC_METADATA_SERVICE_VERSION agrega el atributo tags.service.version en los datos del evento de error que contienen la versión de su código que se desplegará, a menudo una versión semántica como 1.2.3, pero no siempre.
  • NEW_RELIC_METADATA_RELEASE_TAG agrega el atributo tags.releaseTag en los datos del evento que contienen la etiqueta de lanzamiento (como v0.1.209 o release-209).
  • NEW_RELIC_METADATA_COMMIT agrega el atributo tags.commit en los datos del evento que contienen el sha del commit. Puede usar el sha completo o solo los primeros siete caracteres (por ejemplo, 734713b).
Copyright © 2026 New Relic Inc.

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