Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
.NET uygulamasına veya kütüphaneye yeni ölçümleme araçları eklerken, aralarından seçim yapabileceğiniz farklı API'ler vardır. Bu makale, seçenekleri anlamanıza yardımcı olacaktır.
.NET API'ları
System Tanılama Metrikleri
System.Diagnostics.Metrics API'leri en yeni platformlar arası API'lerdir ve OpenTelemetry projesiyle yakın işbirliği içinde tasarlanmıştır. Aşağıda ele alınan eski API'lerden birini kullanmak için belirli bir nedeniniz yoksa, System.Diagnostics.Metrics yeni çalışma için iyi bir varsayılan seçenektir. .NET 6+'yı hedefleyenler için veya eski .NET Core ve .NET Framework uygulamalarında, .NET System.Diagnostics.DiagnosticsSource 6.0+ NuGet paketine başvuru ekleyerek kullanılabilir. Bu API, geniş uyumluluğu hedeflemeye ek olarak, önceki API'lerden eksik olan birçok şey için de destek ekler, örneğin:
- Histogramlar ve yüzdebirlik dilimler
- Çok boyutlu ölçümler
- Kesin türü belirlenmiş yüksek performanslı dinleyici API'si
- Birden çok eşzamanlı dinleyici
- Toplanmamış ölçümlere dinleyici erişimi
Bu API OpenTelemetry ve giderek büyüyen takılabilir satıcı tümleştirme kitaplıkları ekosistemiyle iyi çalışacak şekilde tasarlanmış olsa da, uygulamaların .NET yerleşik dinleyici API'lerini doğrudan kullanma seçeneği de vardır. Bu seçenekle, dış kitaplık bağımlılıkları almadan özel ölçüm araçları oluşturabilirsiniz.
PerformanceCounter
System.Diagnostics.PerformanceCounter API'ler en eski .NET ölçüm API'leridir. Bunlar yalnızca Windows'ta desteklenir ve Windows işletim sistemi Performans Sayacı teknolojisi için yönetilen bir sarmalayıcı sağlar. Bunlar desteklenen tüm .NET sürümlerinde kullanılabilir.
Bu API'ler öncelikle uyumluluk için sağlanır; .NET ekibi, bu alanı hata düzeltmelerinin yanı sıra daha fazla geliştirme alma olasılığı düşük olan kararlı bir alan olarak değerlendirmektedir. Yeni geliştirme projeleri için bu API'ler önerilmez, aksi takdirde proje yalnızca Windows üzerinde çalışacak ve Windows Performans Sayacı araçlarını kullanmak isteyeceksiniz.
Daha fazla bilgi için bkz . .NET Framework'te performans sayaçları.
EventCounters
EventCounters, platformlar arası ölçüm deneyimini destekleyen ilk .NET API'leridir. API'ler .NET Core 3.1+ hedeflenerek kullanılabilir ve .NET Framework 4.7.1 ve sonraki sürümlerde küçük bir alt küme kullanılabilir. Bu API'ler tam olarak desteklenir ve anahtar .NET kitaplıkları tarafından hala kullanılır, ancak daha System.Diagnostics.Metrics yeni API'lerden daha az işlevselliğe sahiptir. EventCounter'lar değişiklik ve ortalama oranlarını bildirebilir, ancak histogramları ve yüzdebirlik değerleri desteklemez. Çok boyutlu ölçümler için de destek yoktur. Özel araç oluşturma EventListener API aracılığıyla mümkündür, ancak sıkı biçimde yazılmış değildir, yalnızca birleştirilmiş değerlere erişim verir ve aynı anda birden fazla dinleyici kullanıldığında sınırlamaları vardır. EventCounters doğrudan Visual Studio, Application Insights, dotnet-counters ve dotnet-monitor tarafından desteklenir. Üçüncü taraf araç desteği için, kullanılabilir olup olmadığını görmek için satıcı veya proje belgelerine bakın.
.NET ekibi bundan sonra bu API'ye yeni yatırımlar yapmayı beklemez, ancak sürümünde olduğu gibi PerformanceCountersAPI de mevcut ve gelecekteki tüm kullanıcılar için desteklenmeye devam eder.
Üçüncü taraf API'leri
AppDynamics, Application Insights, DataDog, DynaTrace ve NewRelic gibi uygulama performansı izleme (APM) satıcılarının çoğu ölçüm API'lerini izleme kitaplıklarının bir parçası olarak içerir. Prometheus ve AppMetrics de popüler .NET OSS projeleridir. Bu projeler hakkında daha fazla bilgi edinmek için çeşitli proje web sitelerini denetleyin.