Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
As APIs ActivitySource.CreateActivity e ActivitySource.StartActivity retornam apenas uma Activity quando há um ouvinte registrado que decide que a instância deve ser criada. Isso é geralmente conhecido como amostragem.
A enumeração System.Diagnostics.ActivitySamplingResult define as possíveis decisões de amostragem.
Ao criar um Activity sem um pai, ActivitySamplingResult determina se o Activity é criado e, em seguida, como as propriedades Recorded e IsAllDataRequested são definidas:
| ResultadoDeAmostragemDeAtividade | Atividade criada | Activity.Recorded | Activity.IsAllDataRequested |
|---|---|---|---|
| Nenhum | Não | ||
| Dados de Propagação | Sim | Falso | Falso |
| AllData | Sim | Falso | Verdadeiro |
| AllDataAndRecorded | Sim | Verdadeiro | Verdadeiro |
Também é possível criar um Activity com um pai. O pai pode estar no mesmo processo ou pode ser um pai remoto propagado para o processo atual.
Comportamento anterior
Anteriormente, ao criar um Activity como PropagationData com um pai marcado como Recorded, as propriedades Recorded e IsAllDataRequested foram definidas da seguinte maneira:
| ResultadoDeAmostragemDeAtividade | Atividade criada | Activity.Recorded | Activity.IsAllDataRequested |
|---|---|---|---|
| Dados de Propagação | Sim | Verdadeiro | Falso |
Novo comportamento
A partir do .NET 10, quando você cria um Activity como PropagationData com um pai marcado como Recorded, as propriedades Recorded e IsAllDataRequested são definidas da seguinte maneira:
| ResultadoDeAmostragemDeAtividade | Atividade criada | Activity.Recorded | Activity.IsAllDataRequested |
|---|---|---|---|
| Dados de Propagação | Sim | Falso | Falso |
Versão introduzida
.NET 10
Tipo de alteração interruptiva
Essa alteração é uma mudança comportamental .
Motivo da alteração
O comportamento anterior não seguiu a especificação OpenTelemetry.
Ação recomendada
Se você tiver implementado ActivityListener.Sample diretamente E se usa ActivitySamplingResult.PropagationData, verifique se não depende do comportamento falho. Para restaurar o comportamento anterior, você pode definir Activity.ActivityTraceFlags para Recorded após a chamada CreateActivity ou StartActivity.
Se você usar o OpenTelemetry .NET e tiver personalizado o sampler, verifique a configuração do sampler. A configuração padrão do .NET do OpenTelemetry usa um algoritmo baseado em pai que não é afetado.