• 로그인지금 시작하기

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

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

문제 신고

I트랜잭션

통사론

public interface ITransaction

New Relic API의 트랜잭션별 메서드에 대한 액세스를 제공합니다.

설명

New Relic .NET 에이전트 API의 트랜잭션별 메서드에 대한 액세스를 제공합니다. ITransaction 에 대한 참조를 얻으려면 { IAgent }에서 사용 가능한 현재 트랜잭션 메소드를 사용하십시오.

이 섹션에는 세 가지 ITransaction 메서드에 대한 설명과 매개 변수가 포함되어 있습니다.

이름

설명

AcceptDistributedTraceHeaders

다른 서비스에서 들어오는 추적 컨텍스트 헤더를 수락합니다.

InsertDistributedTraceHeaders

나가는 요청에 추적 컨텍스트 헤더를 추가합니다.

AcceptDistributedTracePayload(구식)

다른 서비스에서 들어오는 분산 추적 페이로드를 수락합니다.

CreateDistributedTracePayload(구식)

나가는 요청에 포함할 분산 추적 페이로드를 만듭니다.

사용자 정의 속성 추가

애플리케이션의 컨텍스트 정보를 속성 형식으로 현재 트랜잭션에 추가합니다.

현재 범위

현재 실행 중인 범위 에 대한 액세스를 제공합니다. 이는 New Relic API의 범위별 메서드에 대한 액세스를 제공합니다.

AcceptDistributedTraceHeaders

ITransaction.AcceptDistributedTraceHeaders 분산 추적에 포함하기 위해 호출된 서비스를 계측하는 데 사용됩니다. InsertDistributedTraceHeaders 에서 생성하거나 다른 W3C 추적 컨텍스트 호환 추적 프로그램에서 생성한 페이로드를 수락하여 추적의 범위를 연결합니다. 이 메서드는 들어오는 요청의 헤더를 수락하고 W3C 추적 컨텍스트 헤더를 찾고 찾지 못하면 New Relic 분산 추적 헤더로 대체합니다. 이 메서드는 New Relic 분산 추적 페이로드만 처리하는 더 이상 사용되지 않는 AcceptDistributedTracePayload 메서드를 대체합니다.

통사론

void AcceptDistributedHeaders(carrier, getter, transportType)

매개변수

이름

설명

carrier

<티>

필수의. 들어오는 추적 컨텍스트 헤더의 소스입니다.

getter

Func<T, 문자열, IEnumerable<문자열>>

필수의. 캐리어에서 헤더 데이터를 추출하는 호출자 정의 함수.

transportType

TransportType 열거형

필수의. 수신 페이로드의 전송을 설명합니다(예: TransportType.HTTP ).

사용 고려 사항

  • 분산 추적을 활성화해야 합니다 .
  • AcceptDistributedTraceHeaders 이 트랜잭션에 대해 InsertDistributedTraceHeaders 또는 AcceptDistributedTraceHeaders 이(가) 이미 호출된 경우 무시됩니다.

예시

HttpContext httpContext = HttpContext.Current;
IAgent agent = NewRelic.Api.Agent.NewRelic.GetAgent();
ITransaction currentTransaction = agent.CurrentTransaction;
currentTransaction.AcceptDistributedTraceHeaders(httpContext, Getter, TransportType.HTTP);
IEnumerable<string> Getter(HttpContext carrier, string key)
{
string value = carrier.Request.Headers[key];
return value == null ? null : new string[] { value };
}

InsertDistributedTraceHeaders

ITransaction.InsertDistributedTraceHeaders 분산 추적을 구현하는 데 사용됩니다. W3C Trace Context 헤더와 New Relic Distributed Trace 헤더를 추가하여 전달되는 캐리어 개체를 수정합니다. New Relic 헤더는 구성에서 <distributedTracing excludeNewrelicHeader="true" /> 으로 비활성화할 수 있습니다. 이 메서드는 New Relic Distributed Trace 페이로드만 생성하는 더 이상 사용되지 않는 CreateDistributedTracePayload 메서드를 대체합니다.

통사론

void InsertDistributedTraceHeaders(carrier, setter)

매개변수

이름

설명

carrier

<티>

필수의. Trace Context 헤더가 삽입되는 컨테이너..

setter

액션<T, 문자열, 문자열>

필수의. 헤더 데이터를 캐리어에 삽입하기 위한 호출자 정의 작업입니다.

사용 고려 사항

예시

HttpWebRequest requestMessage = (HttpWebRequest)WebRequest.Create("https://remote-address");
IAgent agent = NewRelic.Api.Agent.NewRelic.GetAgent();
ITransaction currentTransaction = agent.CurrentTransaction;
var setter = new Action<HttpWebRequest, string, string>((carrier, key, value) => { carrier.Headers?.Set(key, value); });
currentTransaction.InsertDistributedTraceHeaders(requestMessage, setter);

AcceptDistributedTracePayload

주의

이 API는 .NET 에이전트 v9.0 이상에서 사용할 수 없습니다. 대신 AcceptDistributedTraceHeaders 을(를) 사용하십시오.

업스트림 서비스에서 들어오는 분산 추적 페이로드를 수락합니다. 이 메서드를 호출하면 업스트림 서비스의 트랜잭션이 이 트랜잭션으로 연결됩니다.

통사론

void AcceptDistributedPayload(payload, transportType)

매개변수

이름

설명

payload

필수의. 들어오는 분산 추적 페이로드의 문자열 표현입니다.

transportType

전송 유형
열거

추천. 수신 페이로드의 전송을 설명합니다(예: http ).

기본값 TransportType.Unknown .

사용 고려 사항

  • 분산 추적을 활성화해야 합니다 .
  • 페이로드는 Base64 인코딩 또는 일반 텍스트 문자열일 수 있습니다.
  • AcceptDistributedTracePayload 이 트랜잭션에 대해 CreateDistributedTracePayload 이(가) 이미 호출된 경우 무시됩니다.

예시

//Obtain the information from the request object from the upstream caller.
//The method by which this information is obtain is specific to the transport
//type being used. For example, in an HttpRequest, this information is
//contained in the
header.KeyValuePair<string, string> metadata = GetMetaDataFromRequest("requestPayload");
IAgent agent = NewRelic.Api.Agent.NewRelic.GetAgent();
ITransaction transaction = agent.CurrentTransaction;
transaction.AcceptDistributedTracePayload(metadata.Value, TransportType.Queue);

CreateDistributedTracePayload(구식)

주의

이 API는 .NET 에이전트 v9.0 이상에서 사용할 수 없습니다. 대신 InsertDistributedTraceHeaders 을(를) 사용하십시오.

다운스트림 시스템으로 보내는 요청에 포함할 분산 추적 페이로드를 만듭니다.

통사론

IDistributedTracePayload CreateDistributedTracePayload()

보고

생성된 분산 추적 페이로드에 대한 액세스를 제공하는 IDistributedTracePayload 을 구현하는 객체입니다.

사용 고려 사항

예시

IAgent agent = NewRelic.Api.Agent.NewRelic.GetAgent();
ITransaction transaction = agent.CurrentTransaction;
IDistributedTracePayload payload = transaction.CreateDistributedTracePayload();

사용자 정의 속성 추가

속성 형식으로 현재 트랜잭션에 애플리케이션에 대한 컨텍스트 정보를 추가합니다.

이 방법을 사용하려면 .NET 에이전트 버전 및 .NET 에이전트 API 버전 8.24.244.0 이상이 필요합니다. 더 이상 사용되지 않는 AddCustomParameter 을(를) 대체했습니다.

통사론

ITransaction AddCustomAttribute(string key, object value)

매개변수

매개변수

설명

key

보고되는 정보를 식별합니다. 이름으로도 알려져 있습니다.

  • 빈 키는 지원되지 않습니다.
  • 키는 255바이트로 제한됩니다. 255바이트보다 큰 키가 있는 속성은 무시됩니다.

value

물체

보고되는 값입니다.

보고

현재 트랜잭션에 대한 참조입니다.

사용 고려 사항

지원되는 데이터 유형에 대한 자세한 내용은 사용자 정의 속성 안내서 를 참조하십시오.

예시

IAgent agent = NewRelic.Api.Agent.NewRelic.GetAgent();
ITransaction transaction = agent.CurrentTransaction;
transaction.AddCustomAttribute("customerName","Bob Smith")
.AddCustomAttribute("currentAge",31)
.AddCustomAttribute("birthday", new DateTime(2000, 02, 14))
.AddCustomAttribute("waitTime", TimeSpan.FromMilliseconds(93842));

현재 범위

현재 실행 중인 범위 에 대한 액세스를 제공하여 New Relic API 내에서 범위별 메서드 를 사용할 수 있도록 합니다.

예시

IAgent agent = NewRelic.Api.Agent.NewRelic.GetAgent();
ITransaction transaction = agent.CurrentTransaction;
ISpan currentSpan = transaction.CurrentSpan;

매개변수 섹션 을 참조하십시오.

Copyright © 2022 New Relic Inc.

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