• 로그인지금 시작하세요

사용자의 편의를 위해 제공되는 기계 번역입니다.

영문본과 번역본이 일치하지 않는 경우 영문본이 우선합니다. 보다 자세한 내용은 이 페이지를 방문하시기 바랍니다.

문제 신고

XML(.NET)을 통해 트랜잭션 생성

New Relic 은 프레임워크를 자동으로 지원 합니다. 그러나 일부 트랜잭션이 자동으로 생성되지 않는 다른 프레임워크나 계측하려는 추가 방법이 있을 수도 있습니다. 트랜잭션 을 생성하여 이러한 메소드에 사용자 정의 계측을 추가 할 수 있습니다. XML을 통해 생성된 트랜잭션은 New Relic UI에서 웹이 아닌 것으로 분류됩니다 .

이 문서는 XML 파일로 트랜잭션을 생성하는 방법을 설명합니다. 당신은 또한 수:

비 IIS 애플리케이션이 있는 경우 XML 계측을 사용하려면 .NET 에이전트 설치 중에 Instrument all 옵션을 활성화해야 합니다.

XML을 사용하여 트랜잭션 생성

사용자 지정 트랜잭션(자동으로 계측되지 않는 트랜잭션)은 사용자 지정 계측 XML 파일에 정의됩니다. 트랜잭션 생성을 트리거하는 메서드를 정의합니다. 또한 트리거 메서드에서 호출하는 추가 메서드를 계측할 수 있습니다.

사용자 지정 트랜잭션을 생성하기 전에 알아야 할 몇 가지 중요한 규칙:

  • 데이터베이스 및 외부 호출은 자동으로 계측되므로 사용자 지정 계측이 필요하지 않습니다.
  • XML 파일이 올바른 경로에 있는지 확인하십시오. 계측 세트를 정의하기 위해 .NET 에이전트는 Extensions 디렉토리의 모든 XML 파일을 읽습니다.
  • 계측하려는 방법이 이미 기존 트랜잭션의 일부인 경우 해당 트랜잭션에 세그먼트로 추가됩니다. 새 트랜잭션이 생성되지 않습니다. 이는 부모 메서드가 사용자 지정 계측을 사용하여 계측된 경우에도 발생합니다.
  • 이 메서드는 응용 프로그램이 종료될 때까지 끝나지 않고 데이터가 New Relic으로 전송되지 않을 수 있으므로 Main()과 같은 도구를 사용하지 마십시오.

사용자 정의 계측 파일을 생성하려면:

  1. .NET 에이전트 디렉터리 내의 Extensions 디렉터리에 새 .xml 파일을 만듭니다. 이 디렉토리의 위치는 OS에 따라 다릅니다.

  2. 이 템플릿을 생성한 파일에 복사합니다. 이 템플릿은 두 개의 개별 클래스와 메서드를 트랜잭션으로 정의하지만 더 많이 추가할 수 있습니다.

    <?xml version="1.0" encoding="utf-8"?>
    <extension xmlns="urn:newrelic-extension">
      <instrumentation>
        <!-- Define the method which triggers the creation of a transaction. -->
        <tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Name">
          <match assemblyName="AssemblyName" className="NameSpace.ClassName">
            <exactMethodMatcher methodName="MethodName" />
          </match>
        </tracerFactory>
        <!-- Define the method which triggers the creation of a transaction. -->
        <tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="Name2">
          <match assemblyName="AssemblyName" className="NameSpace.ClassName2">
            <exactMethodMatcher methodName="MethodName2" />
          </match>
        </tracerFactory>
      </instrumentation>
    </extension>
  1. 생성한 파일에서 속성 값 Name , AssemblyName , NameSpace.ClassNameMethodName 을 사용자 지정합니다. 트리거 메서드와 트리거 메서드에서 호출하는 메서드 모두에 대해 이러한 값을 사용자 지정합니다.

    이러한 값은 대소문자를 구분합니다.

    • Name: 트랜잭션 이름을 정의합니다. metricName 속성은 선택 사항입니다. 생략하면 트랜잭션 이름은 NameSpace.ClassName / MethodName 입니다. 거래 범주는 "사용자 지정"입니다. 전체 측정항목 이름은 "OtherTransaction/Custom/ Name 입니다. 트랜잭션 범주를 "Custom"에서 변경하려면 SetTransactionName API 호출을 사용하십시오. New Relic UI는 트랜잭션 유형 필드 의 범주 아래에 트랜잭션을 그룹화합니다.
    • AssemblyName: 트리거 메서드가 포함된 어셈블리입니다.
    • NameSpace.ClassName: 트리거 메서드가 포함된 정규화된 클래스 이름입니다.
    • MethodName: 트리거 메서드의 정확한 이름입니다.
  2. 추가 메소드를 추가하려면 트랜잭션으로 정의할 "NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" 속성이 포함되어야 합니다. 이 속성이 없는 태그는 기존 트랜잭션에만 세부 정보를 추가 합니다.

  3. 선택 사항: XML 파일의 형식이 올바른지 확인하려면 XSD 유효성 검사기를 사용하여 XSD( C:\ProgramData\New Relic\.NET Agent\Extensions\extension.xsd 에 있음)와 대조하여 확인할 수 있습니다.

중요

거래 이름 끝에 대괄호 [suffix] 를 사용하지 마십시오. New Relic은 자동으로 이름에서 괄호를 제거합니다. 대신 필요한 경우 괄호 (suffix) 또는 기타 기호를 사용하십시오.

UI에서 트랜잭션 보기

사용자 정의 트랜잭션은 methodName 에 의해 지정된 메소드가 assemblyName 에 의해 지정된 어셈블리에서 호출될 때 시작됩니다. 메서드가 예외를 반환하거나 throw하면 트랜잭션이 종료됩니다.

트랜잭션 페이지트랜잭션 추적 에서 이러한 메트릭을 볼 수 있습니다. 거래를 보려면: one.newrelic.com > APM > (앱 선택) > Monitor > Transactions > Type > (유형 선택)으로 이동합니다. 유형은 Category/Name 에 의해 정의됩니다.

one.newrelic.com > APM > (앱 선택) > Monitoring > Transactions > Type > (선택된 유형) : 유형 메뉴를 사용하여 사용자 정의 트랜잭션을 봅니다.

예: 3가지 방법 계측

이 예는 트랜잭션 생성의 간단한 구현을 보여줍니다.

예: 콘솔 앱 계측

이 간단한 콘솔 앱은 트랜잭션 생성을 보여줍니다. 애플리케이션을 몇 번 실행하면 트랜잭션 페이지 ( one.newrelic.com > APM > (앱 선택) > Transactions > Type )에서 생성한 트랜잭션을 볼 수 있습니다. 더미 세그먼트는 트랜잭션 분석 테이블과 모든 트랜잭션 추적에서 볼 수 있습니다.

Copyright © 2022 New Relic Inc.