• EnglishEspañol日本語한국어Português
  • Inicia sesiónComenzar ahora

Te ofrecemos esta traducción automática para facilitar la lectura.

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.

Crea una propuesta

ITransacción

Sintaxis

public interface ITransaction

Proporciona acceso a métodos específicos de transacciones en la API New Relic.

Descripción

Proporciona acceso a métodos específicos de transacciones en la API del agente New Relic .NET. Para obtener una referencia a ITransaction, utilice el método de transacción actual disponible en IAgent.

Los siguientes métodos están disponibles en ITransaction:

Nombre

Descripción

AcceptDistributedTraceHeaders

Acepta encabezados de contexto de traza entrantes de otro servicio.

InsertDistributedTraceHeaders

Agrega encabezados de contexto de traza a una solicitud saliente.

AcceptDistributedTracePayload (obsoleto)

Acepta una carga útil entrante de rastreo distribuido de otro servicio.

CreateDistributedTracePayload (obsoleto)

Crea una carga útil de rastreo distribuido para incluirla en una solicitud saliente.

AddCustomAttribute

Agregue información contextual de su aplicación a la transacción actual en forma de atributo.

CurrentSpan

Proporciona acceso al intervalo que se está ejecutando actualmente, que proporciona acceso a métodos específicos del intervalo en la API New Relic.

SetUserId

Asocia una identificación de usuario a la transacción actual.

AceptarDistributedTraceHeaders

ITransaction.AcceptDistributedTraceHeaders se utiliza para instrumentar el servicio llamado para su inclusión en un rastreo distribuido. Vincula los tramos en una traza aceptando una carga útil generada por InsertDistributedTraceHeaders o generada por algún otro rastreador compatible con W3C Trace Context . Este método acepta los encabezados de una solicitud entrante, busca los encabezados W3C Trace Context y, si no los encuentra, recurre a los encabezados distribuidos del rastreo de New Relic. Este método reemplaza el método obsoleto AcceptDistributedTracePayload , que solo maneja la carga distribuida de rastreo de New Relic.

Sintaxis

void AcceptDistributedTraceHeaders(carrier, getter, transportType)

Parámetros

Nombre

Descripción

carrier

<T>

Requerido. Fuente de encabezados entrantes de contexto de traza.

getter

Func<T, string, IEnumerable<string>>

Requerido. Función definida por la persona que llama para extraer datos del encabezado del operador.

transportType

Enumeración tipo de transporte

Requerido. Describe el transporte de la carga útil entrante (por ejemplo TransportType.HTTP).

Consideraciones de uso

Ejemplo

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

Insertar encabezados de seguimiento distribuido

ITransaction.InsertDistributedTraceHeaders Se utiliza para implementar rastreo distribuido. Modifica el objeto portador que se pasa agregando encabezados W3C Trace Context y encabezados distribuidos de rastreo New Relic. Los encabezados de New Relic se pueden desactivar con <distributedTracing excludeNewrelicHeader="true" /> en la configuración. Este método reemplaza el método obsoleto CreateDistributedTracePayload , que solo crea carga distribuida de rastreo New Relic.

Sintaxis

void InsertDistributedTraceHeaders(carrier, setter)

Parámetros

Nombre

Descripción

carrier

<T>

Requerido. contenedor donde se insertan los encabezados de contexto de traza.

setter

Action<T, string, string>

Requerido. Acción definida por la persona que llama para insertar datos de encabezado en el operador.

Consideraciones de uso

Ejemplo

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

AceptarDistributedTracePayload

Advertencia

Esta API no está disponible en el agente .NET v9.0 o superior. Utilice AcceptDistributedTraceHeaders en su lugar.

Acepta una carga útil entrante de rastreo distribuido desde un servicio ascendente. Llamar a este método vincula la transacción del servicio ascendente a esta transacción.

Sintaxis

void AcceptDistributedPayload(payload, transportType)

Parámetros

Nombre

Descripción

payload

cadena

Requerido. Una representación de cadena de la carga útil distribuida del rastreo entrante.

transportType

Tipo de transporte
enumeración

Recomendado. Describe el transporte de la carga útil entrante (por ejemplo, http).

Predeterminado TransportType.Unknown.

Consideraciones de uso

  • Rastreo distribuido debe estar habilitado.
  • La carga útil puede ser una cadena de texto sin formato o codificada en Base64.
  • AcceptDistributedTracePayload se ignorará si ya se ha llamado CreateDistributedTracePayload para esta transacción.

Ejemplo

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

Advertencia

Esta API no está disponible en el agente .NET v9.0 o superior. Utilice InsertDistributedTraceHeaders en su lugar.

Crea una carga útil de rastreo distribuido para incluirla en una solicitud saliente a un sistema descendente.

Sintaxis

IDistributedTracePayload CreateDistributedTracePayload()

Devoluciones

Un objeto que implementa IDistributedTracePayload que proporciona acceso a la carga útil de rastreo distribuido que se creó.

Consideraciones de uso

Ejemplo

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

Agregar atributo personalizado

Agrega información contextual sobre su aplicación a la transacción actual en forma de atributo.

Este método requiere la versión del agente .NET y la versión de API del agente .NET 8.24.244.0 o superior. Reemplazó al AddCustomParameter obsoleto.

Sintaxis

ITransaction AddCustomAttribute(string key, object value)

Parámetros

Parámetro

Descripción

key

cadena

Identifica la información que se reporta. También conocido como el nombre.

  • No se admiten claves vacías.
  • Las claves están limitadas a 255 bytes. Se ignorarán los atributos con claves mayores a 255 bytes.

value

objeto

El valor que se informa.

Note: null valores no se registrarán.

Tipo .NET

Cómo se representará el valor

byte, Int16, Int32, Int64

sbyte, UInt16, UInt32, UInt64

Como valor integral.

float, double, decimal

Un número basado en decimales.

string

Una cadena truncada después de 255 bytes.

Se admiten cadenas vacías.

bool

Verdadero o falso.

DateTime

Una representación de cadena que sigue el formato ISO-8601, incluida información de zona horaria:

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

TimeSpan

Un número decimal que representa el número de segundos.

todo lo demas

Se aplicará el método ToString() . Los tipos personalizados deben tener una implementación de Object.ToString() o generarán una excepción.

Devoluciones

Una referencia a la transacción actual.

Consideraciones de uso

Para obtener detalles sobre los tipos de datos admitidos, consulte la Guía de atributos personalizados.

Ejemplo

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

Intervalo actual

Proporciona acceso al span que se está ejecutando actualmente, lo que hace que los métodos específicos del span estén disponibles dentro de la API de New Relic.

Ejemplo

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

Establecer ID de usuario

Asocia una identificación de usuario con la transacción actual.

Este método requiere el agente .NET y la API del agente .NET versión 10.9.0 o superior.

Sintaxis

ITransaction SetUserId(string userId)

Parámetros

Parámetro

Descripción

userId

cadena

El ID de usuario que se asociará con esta transacción.

  • null, los valores vacíos y de espacios en blanco se ignorarán.

Ejemplo

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.