• EnglishEspañol日本語한국어Português
  • EntrarComeçar agora

Esta tradução de máquina é fornecida para sua comodidade.

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

Criar um problema

ITransação

Sintaxe

public interface ITransaction

Fornece acesso a métodos específicos de transação na API New Relic.

Descrição

Fornece acesso a métodos específicos de transação na API do agente .NET da New Relic. Para obter uma referência a ITransaction, use o método de transação atual disponível em IAgent.

Os seguintes métodos estão disponíveis em ITransaction:

Nome

Descrição

AcceptDistributedTraceHeaders

Aceita cabeçalhos de contexto do trace recebidos de outro serviço.

InsertDistributedTraceHeaders

Adiciona cabeçalhos de contexto do trace a uma solicitação de saída.

AcceptDistributedTracePayload (obsoleto)

Aceita uma carga útil distributed trace de entrada de outro serviço.

CreateDistributedTracePayload (obsoleto)

Cria uma carga de distributed trace para inclusão em uma solicitação de saída.

AddCustomAttribute

Adicione informações contextuais da sua aplicação à transação atual em forma de atributo.

CurrentSpan

Fornece acesso ao span em execução atualmente, que fornece acesso a métodos específicos de span na API New Relic.

SetUserId

Associa um ID de usuário à transação atual.

AcceptDistributedTraceHeaders

ITransaction.AcceptDistributedTraceHeaders É usado para instrumentar o serviço chamado para inclusão em um distributed trace. Ele vincula os intervalos em um trace aceitando uma carga gerada por ou gerada por algum InsertDistributedTraceHeaders outro W3C Trace Context compatível com tracer. Este método aceita os cabeçalhos de uma solicitação recebida, procura cabeçalhos W3C Trace Context e, se não for encontrado, recorre aos cabeçalhos distributed trace da New Relic. Este método substitui o método AcceptDistributedTracePayload obsoleto, que lida apenas com carga distributed trace do New Relic.

Sintaxe

void AcceptDistributedTraceHeaders(carrier, getter, transportType)

Parâmetro

Nome

Descrição

carrier

<T>

Obrigatório. Fonte do contexto de entrada dos cabeçalhos de rastreamento.

getter

Func<T, string, IEnumerable<string>>

Obrigatório. Função definida pelo chamador para extrair dados de cabeçalho da operadora.

transportType

Enumeração TransportType

Obrigatório. Descreve o transporte da carga de entrada (por exemplo TransportType.HTTP).

Considerações de uso

  • Distributed tracing deve estar ativado.
  • AcceptDistributedTraceHeaders será ignorado se InsertDistributedTraceHeaders ou AcceptDistributedTraceHeaders já tiver sido chamado para esta transação.

Exemplo

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 é usado para implementar distributed tracing. Ele modifica o objeto transportador que é transmitido adicionando cabeçalhos de contexto de rastreamento W3C e cabeçalhos distributed trace New Relic. Os cabeçalhos New Relic podem ser desativados com <distributedTracing excludeNewrelicHeader="true" /> na configuração. Este método substitui o método CreateDistributedTracePayload obsoleto, que cria apenas carga distributed trace da New Relic.

Sintaxe

void InsertDistributedTraceHeaders(carrier, setter)

Parâmetro

Nome

Descrição

carrier

<T>

Obrigatório. contêiner onde são inseridos os cabeçalhos do contexto do trace.

setter

Action<T, string, string>

Obrigatório. Ação definida pelo chamador para inserir dados de cabeçalho na operadora.

Considerações de uso

Exemplo

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

Cuidado

Esta API não está disponível no agente .NET v9.0 ou superior. Use AcceptDistributedTraceHeaders em vez disso.

Aceita uma carga útil distributed trace de entrada de um serviço upstream. Chamar esse método vincula a transação do serviço upstream a essa transação.

Sintaxe

void AcceptDistributedPayload(payload, transportType)

Parâmetro

Nome

Descrição

payload

corda

Obrigatório. Uma representação de cadeia de caracteres da carga útil distributed trace de entrada.

transportType

Tipo de transporte
enumeração

Recomendado. Descreve o transporte da carga de entrada (por exemplo, http).

Padrão TransportType.Unknown.

Considerações de uso

  • Distributed tracing deve estar ativado.
  • A carga útil pode ser uma string de texto simples ou codificada em Base64.
  • AcceptDistributedTracePayload será ignorado se CreateDistributedTracePayload já tiver sido chamado para esta transação.

Exemplo

//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 (obsoleto)

Cuidado

Esta API não está disponível no agente .NET v9.0 ou superior. Use InsertDistributedTraceHeaders em vez disso.

Cria uma carga distributed trace para inclusão em uma solicitação de saída para um sistema downstream.

Sintaxe

IDistributedTracePayload CreateDistributedTracePayload()

Devoluções

Um objeto que implementa IDistributedTracePayload que fornece acesso à carga distributed trace que foi criada.

Considerações de uso

Exemplo

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

AdicionarAtributoCustom

Adiciona informações contextuais sobre sua aplicação à transação atual na forma de atributo.

Este método requer a versão do agente .NET e a API do agente .NET versão 8.24.244.0 ou superior. Ele substituiu o obsoleto AddCustomParameter.

Sintaxe

ITransaction AddCustomAttribute(string key, object value)

Parâmetro

Parâmetro

Descrição

key

corda

Identifica as informações que estão sendo relatadas. Também conhecido como nome.

  • Chaves vazias não são suportadas.
  • As chaves são limitadas a 255 bytes. atributo com chaves maiores que 255 bytes será ignorado.

value

objeto

O valor que está sendo informado.

Note: null valores não serão registrados.

Tipo .NET

Como o valor será representado

byte, Int16, Int32, Int64

sbyte, UInt16, UInt32, UInt64

Como valor integral.

float, double, decimal

Um número baseado em decimal.

string

Uma string truncada após 255 bytes.

Strings vazias são suportadas.

bool

Verdadeiro ou falso.

DateTime

Uma representação de string seguindo o formato ISO-8601, incluindo informações de fuso horário:

Exemplo: 2020-02-13T11:31:19.5767650-08:00

TimeSpan

Um número decimal que representa o número de segundos.

todo o resto

O método ToString() será aplicado. Os tipos personalizados devem ter uma implementação de Object.ToString() ou gerarão uma exceção.

Devoluções

Uma referência à transação atual.

Considerações de uso

Para obter detalhes sobre os tipos de dados suportados, consulte o Guia de atributo personalizado.

Exemplo

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));

Período Atual

Fornece acesso ao span em execução atualmente, disponibilizando métodos específicos do span na API New Relic.

Exemplo

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

DefinirUserId

Associa um ID de usuário à transação atual.

Este método requer o agente .NET e a API do agente .NET versão 10.9.0 ou superior.

Sintaxe

ITransaction SetUserId(string userId)

Parâmetro

Parâmetro

Descrição

userId

corda

O ID do usuário a ser associado a esta transação.

  • null, os valores vazios e de espaço em branco serão ignorados.

Exemplo

IAgent agent = NewRelic.Api.Agent.NewRelic.GetAgent();
ITransaction transaction = agent.CurrentTransaction;
transaction.SetUserId("BobSmith123");
Copyright © 2024 New Relic Inc.

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