Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die ActivitySource.CreateActivity- und ActivitySource.StartActivity-APIs geben nur eine Activity zurück, wenn ein registrierter Listener vorhanden ist, der entscheidet, dass die Instanz erstellt werden soll. Dies wird allgemein als Sampling bezeichnet.
Die möglichen Samplingentscheidungen werden durch die System.Diagnostics.ActivitySamplingResult-Enumeration definiert.
Beim Erstellen eines Activity ohne übergeordnetes Element steuert ActivitySamplingResult, ob das Activity erstellt wird und wie die Eigenschaften Recorded und IsAllDataRequested festgelegt werden:
| Aktivitätsstichprobenergebnis | Aktivität erstellt | Activity.Recorded | Activity.IsAllDataRequested |
|---|---|---|---|
| Nichts | Nein | ||
| Ausbreitungsdaten | Ja | falsch | falsch |
| AllData | Ja | falsch | Stimmt |
| AllDataAndRecorded | Ja | Stimmt | Stimmt |
Es ist auch möglich, ein Activity Element mit einem übergeordneten Element zu erstellen. Das übergeordnete Element kann sich im selben Prozess befinden, oder es kann sich um ein übergeordnetes Remoteelement handeln, das an den aktuellen Prozess propagiert wird.
Vorheriges Verhalten
Beim Erstellen einer Activity als PropagationData mit einem übergeordneten Element, das als Recorded gekennzeichnet ist, wurden die Eigenschaften Recorded und IsAllDataRequested wie folgt festgelegt:
| Aktivitätsstichprobenergebnis | Aktivität erstellt | Activity.Recorded | Activity.IsAllDataRequested |
|---|---|---|---|
| Ausbreitungsdaten | Ja | Stimmt | falsch |
Neues Verhalten
Ab .NET 10 werden beim Erstellen einer Activity als PropagationData mit einem übergeordneten Element, das als Recorded gekennzeichnet ist, die Eigenschaften Recorded und IsAllDataRequested wie folgt festgelegt:
| Aktivitätsstichprobenergebnis | Aktivität erstellt | Activity.Recorded | Activity.IsAllDataRequested |
|---|---|---|---|
| Ausbreitungsdaten | Ja | falsch | falsch |
Eingeführt in Version
.NET 10
Typ des Breaking Changes
Diese Änderung ist eine Verhaltensänderung.
Grund für Änderung
Das vorherige Verhalten hat die OpenTelemetry-Spezifikation nicht befolgt.
Empfohlene Aktion
Wenn Sie ActivityListener.Sample direkt implementiert UND ActivitySamplingResult.PropagationDataverwenden, vergewissern Sie sich, dass Sie nicht auf das fehlerhafte Verhalten angewiesen sind. Um das vorherige Verhalten wiederherzustellen, können Sie Activity.ActivityTraceFlags nach dem aufruf Recorded oder CreateActivity auf StartActivity festlegen.
Wenn Sie OpenTelemetry .NET verwenden und den Sampler angepasst haben, überprüfen Sie die Samplerkonfiguration. Die standardmäßige OpenTelemetry .NET-Konfiguration verwendet einen übergeordneten Algorithmus, der nicht beeinträchtigt wird.