New Relic의 .NET 에이전트는 사용자 정의 계측 을 위한 여러 옵션을 제공합니다. 사용자 지정 계측을 사용하면 앱에서 자동으로 계측되지 않는 부분을 계측할 수 있습니다. 이 문서에서는 앱 코드의 메서드를 속성으로 장식하여 앱을 계측하는 방법을 설명합니다.
Transaction
속성을 사용하여 맞춤 트랜잭션을 만듭니다. 속성의Web
속성을 사용하여 사용자 정의 트랜잭션을 웹 트랜잭션으로 표시할 수도 있습니다.Trace
속성을 사용하여 기존 트랜잭션 내에서 호출되는 메서드에 맞춤 계측을 추가합니다.
요구 사항 및 권장 사항
요구 사항은 다음과 같습니다.
- .NET 에이전트 버전 6.16.178.0 이상.
- 소스 코드를 수정할 의지가 있어야 합니다. 소스 코드를 수정할 수 없거나 수정하고 싶지 않다면 XML을 통한 맞춤 계측을 사용하세요.
- 프로젝트에는
NewRelic.Api.Agent.dll
에 대한 참조가 있어야 합니다(예: 패키지 설치 및 코드에using NewRelic.Api.Agent;
배치). 이 패키지는 NuGet 갤러리 에 있습니다. Transaction
및Trace
속성은 메소드의 구체적인 구현에 적용되어야 합니다. 인터페이스나 슈퍼 클래스 메서드 정의에는 적용할 수 없습니다.
트랜잭션 내에서 호출된 트랜잭션
[Transaction]
속성으로 장식된 메소드는 트랜잭션이 아직 없는 경우에만 새 트랜잭션을 생성합니다. [Transaction]
로 장식된 메서드가 이전에 시작된 트랜잭션 within 에서 호출되면 대신 [Trace]
속성으로 처리되어 기존 트랜잭션에 대한 추가 정보를 제공합니다.
웹이 아닌 새 트랜잭션 만들기
Transaction
속성을 사용하여 웹이 아닌 트랜잭션(백그라운드 요청이라고도 함)을 시작하려면 다음 안내를 따르세요.
[Transaction]public void Run(){ // your background task}
웹 또는 비웹을 사용하는 이유에 대한 자세한 내용은 웹 또는 비웹으로 분류를 참조하십시오.
새 웹 트랜잭션 생성
웹 브라우저가 아닌 작업을 웹 브라우저 트랜잭션으로 표시하도록 에이전트에 지시하려면 다음 옵션 중 하나를 사용하십시오.
Transaction
속성의Web
속성을true
로 설정합니다.SetTransactionUri()
으로 트랜잭션의 URI를 설정합니다.
[Transaction(Web = true)]public void Run(){ var uri = new Uri("https://www.mydomain.com/path"); NewRelic.Api.Agent.NewRelic.SetTransactionUri(uri);
// your web task}
이전에 시작된 트랜잭션 내에서 사용되는 경우 이는 [Trace]
속성으로 처리됩니다.
웹 또는 비웹을 사용하는 이유에 대한 자세한 내용은 웹 또는 비웹으로 분류를 참조하십시오.
기존 거래에 세부 정보 추가 Trace
트랜잭션 추적에 계측되지 않은 시간의 큰 블록이 표시되고 추적 내에 추가 메서드를 포함하려는 경우 Trace
속성을 사용할 수 있습니다.
[Trace]protected void MethodWithinTransaction(){ // your app code}
중요
[Trace]
속성을 추가한 후 일부 메서드가 추적에 표시되지 않으면 [MethodImpl(MethodImplOptions.NoInlining)]
사용하여 해당 메서드에 대한 메서드 인라인을 비활성화합니다.
중요
debug 모드로 Visual Studio에서 기능을 실행하면 일부 메서드가 뉴렐릭 트레이스에 표시되지 않을 수 있습니다. 메소드가 뉴렐릭에 표시되도록 하려면, 쥐줄을 통해 릴리스 모드에서 특수를 실행하세요.
다음에 대한 속성 Transaction
Transaction
속성은 다음 속성을 지원합니다.
예: 4가지 방법 계측
계측에 대한 포럼 게시물 읽기
보다 구체적인 권장 사항은 지원 포럼 커뮤니티에서 다음 게시물을 확인하세요.
다른 API 기능 사용
.NET 에이전트 API 및 해당 기능에 대한 자세한 내용은 New Relic의 .NET 에이전트 API 가이드 를 참조하세요. 소스 코드를 수정하지 않고 사용자 정의 계측을 수행하려면 XML을 통해 트랜잭션 만들기 및 XML 을 통해 트랜잭션에 세부 정보 추가 를 참조하세요.