Sintaxis
NewRelic.Api.Agent.NewRelic.SetErrorGroupCallback(Func<IReadOnlyDictionary<string,object>, string> errorGroupCallback);
Proporcione un método de devolución de llamada que tome un IReadOnlyDictionary<string,object>
de datos de atributo y devuelva un nombre de grupo de error.
Requisitos
Esta llamada API es compatible con:
- Versiones del agente >= 10.9.0
- Todos los tipos de aplicaciones
Descripción
Establezca un método de devolución de llamada que el agente utilizará para determinar el nombre del grupo de errores para el evento de error y la traza. Este nombre se utiliza en la Errors Inbox para agrupar errores en grupos lógicos.
El método de devolución de llamada debe aceptar un único argumento de tipo IReadOnlyDictionary<string,object>
y devolver una cadena (el nombre del grupo de errores). El IReadOnlyDictionary
es una colección de datos de atributos asociados con cada evento de error, incluido el atributo personalizado.
La lista exacta de atributos disponibles para cada error variará dependiendo de:
- ¿Qué código de aplicación generó el error?
- Ajustes de configuración del agente
- Si se agregó algún atributo personalizado
Sin embargo, siempre debe existir el siguiente atributo:
error.class
error.message
stack_trace
transactionName
request.uri
error.expected
Se puede devolver una cadena vacía para el nombre del grupo de errores cuando el error no se puede asignar a un grupo de errores lógicos.
Parámetros
Parámetro | Descripción |
---|---|
'Func<IReadOnlyDictionary<string,object>,string>' | La devolución de llamada para determinar el nombre del grupo de errores en función de los datos del atributo. |
Ejemplos
Errores de grupo por nombre de clase de error:
Func<IReadOnlyDictionary<string, object>, string> errorGroupCallback = (attributes) => { string errorGroupName = string.Empty; if (attributes.TryGetValue("error.class", out var errorClass)) { if (errorClass.ToString() == "System.ArgumentOutOfRangeException" || errorClass.ToString() == "System.ArgumentNullException") { errorGroupName = "ArgumentErrors"; } else { errorGroupName = "OtherErrors"; } } return errorGroupName;};
NewRelic.Api.Agent.NewRelic.SetErrorGroupCallback(errorGroupCallback);
Errores de grupo por nombre de transacción:
Func<IReadOnlyDictionary<string, object>, string> errorGroupCallback = (attributes) => { string errorGroupName = string.Empty; if (attributes.TryGetValue("transactionName", out var transactionName)) { if (transactionName.ToString().IndexOf("WebTransaction/MVC/Home") != -1) { errorGroupName = "HomeControllerErrors"; } else { errorGroupName = "OtherControllerErrors"; } } return errorGroupName;};
NewRelic.Api.Agent.NewRelic.SetErrorGroupCallback(errorGroupCallback);