Nota
O acceso a esta páxina require autorización. Pode tentar iniciar sesión ou modificar os directorios.
O acceso a esta páxina require autorización. Pode tentar modificar os directorios.
Las APIs de ActivitySource.CreateActivity y ActivitySource.StartActivity solo devuelven un Activity cuando hay un escuchador registrado que determina si debe crearse la instancia. Esto se conoce generalmente como muestreo.
La enumeración System.Diagnostics.ActivitySamplingResult define las posibles decisiones de muestreo.
Al crear un Activity sin un elemento primario, ActivitySamplingResult controla si se crea el Activity y, a continuación, cómo se establecen las propiedades Recorded y IsAllDataRequested:
| ResultadoDeMuestreoDeActividad | Actividad creada | Activity.Recorded | Activity.IsAllDataRequested |
|---|---|---|---|
| Ninguno | No | ||
| DatosDePropagación | Sí | Falso | Falso |
| AllData | Sí | Falso | Verdadero |
| AllDataAndRecorded | Sí | Verdadero | Verdadero |
También es posible crear un Activity con un padre. El elemento principal podría estar en el mismo proceso o podría ser un elemento principal remoto propagado al proceso actual.
Comportamiento anterior
Anteriormente, al crear un Activity como PropagationData con un elemento primario marcado como Recorded, las propiedades Recorded y IsAllDataRequested se establecieron de la siguiente manera:
| ResultadoDeMuestreoDeActividad | Actividad creada | Activity.Recorded | Activity.IsAllDataRequested |
|---|---|---|---|
| DatosDePropagación | Sí | Verdadero | Falso |
Nuevo comportamiento
A partir de .NET 10, al crear un Activity como PropagationData con un elemento primario marcado como Recorded, las propiedades Recorded y IsAllDataRequested se establecen de la siguiente manera:
| ResultadoDeMuestreoDeActividad | Actividad creada | Activity.Recorded | Activity.IsAllDataRequested |
|---|---|---|---|
| DatosDePropagación | Sí | Falso | Falso |
Versión introducida
.NET 10
Tipo de cambio importante
Este cambio es un cambio de comportamiento .
Motivo del cambio
El comportamiento anterior no siguió la especificación OpenTelemetry.
Acción recomendada
Si ha implementado ActivityListener.Sample directamente Y usa ActivitySamplingResult.PropagationData, compruebe que no depende del comportamiento defectuoso. Para restaurar el comportamiento anterior, puede establecer Activity.ActivityTraceFlags en Recorded después de la llamada CreateActivity o StartActivity.
Si usa OpenTelemetry .NET y ha personalizado el sampler, compruebe la configuración del sampler. La configuración predeterminada de OpenTelemetry .NET usa un algoritmo basado en elementos primarios que no se ve afectado.