통사론
NewRelic.Api.Agent.NewRelic.SetErrorGroupCallback(Func<IReadOnlyDictionary<string,object>, string> errorGroupCallback);
속성 데이터의 IReadOnlyDictionary<string,object>
를 사용하고 오류 그룹 이름을 반환하는 콜백 메서드를 제공합니다.
요구 사항
이 API 호출은 다음과 호환됩니다.
- 에이전트 버전 >= 10.9.0
- 모든 앱 유형
설명
에이전트가 오류 이벤트 및 추적에 대한 오류 그룹 이름을 결정하는 데 사용할 콜백 메서드를 설정합니다. 이 이름은 오류 수신함에서 오류를 논리 그룹으로 그룹화하는 데 사용됩니다.
콜백 메서드는 IReadOnlyDictionary<string,object>
유형의 단일 인수를 수락하고 문자열(오류 그룹 이름)을 반환해야 합니다. IReadOnlyDictionary
은 사용자 정의 속성을 포함하여 각 오류 이벤트와 연관된 속성 데이터 의 모음입니다.
각 오류에 사용할 수 있는 속성의 정확한 목록은 다음에 따라 다릅니다.
- 오류를 생성한 애플리케이션 코드
- 에이전트 구성 설정
- 맞춤 속성이 추가되었는지 여부
그러나 다음 속성은 항상 존재해야 합니다.
error.class
error.message
stack_trace
transactionName
request.uri
error.expected
오류를 논리적 오류 그룹에 할당할 수 없는 경우 오류 그룹 이름에 대해 빈 문자열이 반환될 수 있습니다.
매개변수
매개변수 | 설명 |
---|---|
'Func<IReadOnlyDictionary<string,object>,string>' | 속성 데이터를 기반으로 오류 그룹 이름을 결정하는 콜백입니다. |
예
오류 클래스 이름별로 오류 그룹화:
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);
트랜잭션 이름별로 오류 그룹화:
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);