Aracılığıyla paylaş


ActivitySource.CreateActivity ve ActivitySource.StartActivity'nın davranışlarındaki değişiklik

ActivitySource.CreateActivity ve ActivitySource.StartActivity API'leri yalnızca örneğin oluşturulması gerektiğine karar veren kayıtlı bir dinleyici olduğunda bir Activity döndürür. Bu genellikle örnekleme olarak bilinir.

System.Diagnostics.ActivitySamplingResult numaralandırması olası örnekleme kararlarını tanımlar.

Üst öğe olmadan Activity oluştururken, ActivitySamplingResultActivity oluşturulup oluşturulmadığını ve ardından Recorded ve IsAllDataRequested özelliklerinin nasıl ayarlandığını belirler:

Aktivite Örnekleme Sonucu Etkinlik oluşturuldu Etkinlik Kaydedildi Activity.IsAllDataRequested (Activity.TümVeriTalepEdildiMi)
Hiç kimse Hayır
YayılmaVerisi Evet Yanlış Yanlış
AllData Evet Yanlış Doğru
Tüm Veriler ve Kaydedilenler Evet Doğru Doğru

Ayrıca, bir üst öğe ile Activity oluşturmak mümkündür. Ebeveyn aynı işlemde olabilir veya geçerli işleme yayılan uzak bir ebeveyn olabilir.

Önceki davranış

Daha önce, üst öğesi Activityolarak işaretlenmiş PropagationData olarak Recorded oluştururken Recorded ve IsAllDataRequested özellikleri aşağıdaki gibi ayarlanmıştı:

Aktivite Örnekleme Sonucu Etkinlik oluşturuldu Etkinlik Kaydedildi Activity.IsAllDataRequested (Activity.TümVeriTalepEdildiMi)
YayılmaVerisi Evet Doğru Yanlış

Yeni davranış

.NET 10'dan başlayarak, üst öğesi Activityolarak işaretlenmiş PropagationData olarak bir Recorded oluşturduğunuzda, Recorded ve IsAllDataRequested özellikleri aşağıdaki gibi ayarlanır:

Aktivite Örnekleme Sonucu Etkinlik oluşturuldu Etkinlik Kaydedildi Activity.IsAllDataRequested (Activity.TümVeriTalepEdildiMi)
YayılmaVerisi Evet Yanlış Yanlış

Sürüm kullanıma sunulmuştur

.NET 10

Bozucu değişiklik türü

Bu değişiklik, bir davranış değişikliğidir.

Değişiklik nedeni

Önceki davranış OpenTelemetry belirtimini izlemedi.

ActivityListener.Sample doğrudan uyguladıysanız ve ActivitySamplingResult.PropagationDatakullanıyorsanız, hatalı davranışa bağlı olmadığınızı doğrulayın. Önceki davranışı geri yüklemek için Activity.ActivityTraceFlags veya Recorded çağrısından sonra CreateActivityStartActivity olarak ayarlayabilirsiniz.

OpenTelemetry .NET kullanıyorsanız ve örnekleyiciyi özelleştirdiyseniz, örnekleyici yapılandırmanızı doğrulayın. Varsayılan OpenTelemetry .NET yapılandırması, etkilenmeyen üst tabanlı bir algoritma kullanır.

Etkilenen API'ler