Dağıtık İzleme
İstekleri Activity ile hizmetler arasında izleyin.
Dağıtık İzleme, CoddyKit'te ücretsiz bir C# Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, C# Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. C# Academy kursu toplamda 4 dersten oluşur.
Dağıtık İzleme Nedir
Dağıtık izleme, tek bir isteğin hizmetler ve bileşenler arasında ilerleyişini takip eder. Her iş birimi bir aralık hâline gelir ve birbirine bağlı aralıklar, iç içe işlemlerden oluşan bir zaman çizelgesi olarak görselleştirilen bir iz oluşturur.
Aralıklar ve İzler
Bir aralık; ada, başlangıç ve bitiş zamanına, özniteliklere ve duruma sahiptir. Aralıklar iç içe geçer: bir üst aralık (HTTP isteği), alt aralıkları (veritabanı sorgusu veya dışarıya yapılan çağrı) içerir. Bütün ağaç tek bir iz kimliğini paylaşır.
.NET'te Span Yerine Activity
.NET'te System.Diagnostics.Activity sınıfı, bir OpenTelemetry aralığının uygulamasıdır. Etkinlikleri bir ActivitySource üzerinden oluşturursunuz.
using System.Diagnostics;
private static readonly ActivitySource Source =
new("Checkout.Orders");Activity Başlatma
StartActivity bir aralık başlatır. Bloğun dışına çıkıldığında sona ermesi ve süresini kaydetmesi için bunu bir using içinde kullanın.
using Activity activity = Source.StartActivity("PlaceOrder");
// work happens here; span ends when disposedAralığa Etiket Ekleme
Etiketler (öznitelikler), sipariş kimliği veya tutar gibi anahtar-değer bağlamını bir aralığa ekleyerek izlerin aranabilir ve anlamlı olmasını sağlar.
activity?.SetTag("order.id", orderId);
activity?.SetTag("order.amount", amount);Olayları ve Durumu Kaydetme
Zamanın belirli bir anındaki açıklamalar için AddEvent kullanın; başarılı veya başarısız durumu belirtmek ve hataların izleme arka ucunda görünmesini sağlamak için SetStatus kullanın.
activity?.AddEvent(new ActivityEvent("inventory.reserved"));
activity?.SetStatus(ActivityStatusCode.Error, "Payment declined");ActivitySource Kaydetme
OTel yalnızca AddSource ile kaydettiğiniz kaynaklardaki etkinlikleri toplar; bu nedenle izleyiciye ActivitySource adınızı bildirin.
builder.Services.AddOpenTelemetry()
.WithTracing(tracing => tracing
.AddSource("Checkout.Orders"));Otomatik İzleme
Yerleşik izleme, gelen ASP.NET Core istekleri ve giden HttpClient çağrıları için otomatik olarak aralıklar oluşturur; böylece kod yazmadan temel bir iz elde edersiniz.
tracing
.AddAspNetCoreInstrumentation()
.AddHttpClientInstrumentation();Bağlam Yayılımı
Bir izin hizmetler arasında devam edebilmesi için iz kimliğinin bu hizmetler arasında taşınması gerekir. OTel, bunu giden HTTP üst bilgilerine (W3C traceparent) ekler ve alıcı tarafta okur; böylece aralıkları otomatik olarak tek bir izde birleştirir.
Üst ve Alt İlişkileri
Başka bir etkinlik geçerliyken yeni bir etkinlik başlattığınızda, yeni etkinlik Activity.Current üzerinden onun alt etkinliği olur. Bu iç içe yapılandırma, el ile bağlantı kurmadan iz ağacını oluşturur.
using var parent = Source.StartActivity("PlaceOrder");
using var child = Source.StartActivity("ChargeCard");
// child is nested under parent automaticallyÖrnekleme
Her isteği izlemek pahalı olabilir. Örnekleme, maliyeti kontrol ederken temsili verileri korumak için yalnızca belirli bir bölümü (örneğin %10'unu) kaydeder.
Kısa Kontrol
Dağıtık izlemeyi sınayın.
Özet
Dağıtık izleme, iz kimliğini paylaşan bağlantılı aralıklar olarak bir isteği takip eder. .NET'te Activity, kayıtlı bir ActivitySource üzerinden StartActivity ile oluşturulan aralıktır; sona erdirmek için using kullanın. Bağlamı SetTag, AddEvent ve SetStatus ile ekleyin. Otomatik izleme ile W3C bağlam yayılımı, hizmetler arasındaki izleri birleştirir; örnekleme ise maliyeti kontrol eder.
Sıkça Sorulan Sorular
“Dağıtık İzleme” dersi ücretsiz mi?
Evet — “Dağıtık İzleme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve C# Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. C# Academy kursu toplamda 4 dersten oluşur.
“Dağıtık İzleme” dersinde ne öğreneceğim?
İstekleri Activity ile hizmetler arasında izleyin. C# Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
C# Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te C# Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“Dağıtık İzleme” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu C# Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her C# Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.