• /
  • EnglishEspañol日本語한국어Português
  • 로그인지금 시작하기

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

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

문제 신고

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="TransactionName">
    <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="TransactionName2">
    <match assemblyName="AssemblyName" className="NameSpace.ClassName2">
    <exactMethodMatcher methodName="MethodName2" />
    </match>
    </tracerFactory>
    <!-- Define the method which triggers the creation of a transaction. -->
    <tracerFactory name="NewRelic.Agent.Core.Tracer.Factories.BackgroundThreadTracerFactory" metricName="TransactionName3">
    <match assemblyName="AssemblyName" className="NameSpace.ClassName3" minVersion="1.0.0" maxVersion="99.99.99">
    <exactMethodMatcher methodName="MethodName3" />
    </match>
    </tracerFactory>
    </instrumentation>
    </extension>
  1. 생성한 파일에서 속성 값 TransactionName , AssemblyName , NameSpace.ClassNameMethodName 을 맞춤설정합니다. 트리거 메서드와 트리거 메서드에서 호출하는 메서드 모두에 대해 이 값을 사용자 지정합니다. 또한 위의 세 번째 예와 같이 선택적 minVersionmaxVersion 특성 값을 사용하여 어셈블리의 특정 버전을 대상으로 지정할 수 있습니다. 이 기능을 사용하려면 에이전트 10.6.0 이상이 필요합니다.

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

    • TransactionName: 트랜잭션 이름을 정의합니다. metricName 속성은 선택 사항입니다. 생략하면 트랜잭션 이름은 NameSpace.ClassName/MethodName 이 됩니다. 트랜잭션 범주는 Custom 입니다. 결과 전체 메트릭 이름은 OtherTransaction/Custom/TransactionName 입니다. Custom 에서 트랜잭션 카테고리를 변경하려면 SetTransactionName API 호출을 사용하십시오. New Relic UI는 트랜잭션 유형 필드 의 범주 아래에서 트랜잭션을 그룹화합니다.
    • AssemblyName: 트리거 메서드가 포함된 어셈블리입니다.
    • NameSpace.ClassName: 트리거 메서드가 포함된 정규화된 클래스 이름입니다.
    • MethodName: 트리거 메서드의 정확한 이름입니다.
    • minVersion: 선택 사항입니다(제거할 수 있음). 계측할 최소 어셈블리 버전(포함). 생략하면 최소 버전은 0으로 간주됩니다. 에이전트 10.6.0 이상이 필요합니다.
    • maxVersion: 선택 사항입니다(제거할 수 있음). 계측할 최대 어셈블리 버전(독점). 생략하면 최대 버전이 없습니다. 에이전트 10.6.0 이상이 필요합니다.
  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하면 트랜잭션이 종료됩니다.

이러한 지표는 Transactions 페이지프로세서 트레이스 에서 볼 수 있습니다. 프로세서를 보려면: one.newrelic.com > All capabilities > APM & services > (select an app) > Monitor > Transactions > Type > (select a type) 로 이동하세요. API를 사용하여 카테고리를 변경 하지 않는 한 유형은 Non-web/Custom 입니다.

Screenshot showing where to choose the transaction type

one.newrelic.com > All capabilities > APM & services > (select an app) > Monitoring > Transactions > Type > (selected type): 사용자 정의 소니를 보려면 Type 메뉴를 사용하십시오.

예: 3가지 방법 계측

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

예: 콘솔 앱 계측

이 간단한 콘솔 앱은 트랜잭션 생성을 보여줍니다. 몇 번 실행하면 프로세서 페이지 ( one.newrelic.com > All capabilities > APM & services > (select an app) > Transactions > Type)에 생성한 프로세서가 표시됩니다. Dummy 세그먼트는 프로세서 분석 테이블과 모든 프로세서 트레이스에 표시됩니다.

Copyright © 2024 New Relic Inc.

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