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.
bağımlılık enjeksiyonu (DI) ile tümleşen özel ölçüm dinleyicileri için araçları filtrelemek üzere IConfiguration kullanın. Bu filtreler, ölçümleri nasıl topladığı veya dışa aktardığını değil, listener'ın abone olabileceği araçları denetler.
Metrik dinleyicileri
Metrik dinleyicisi, bir Meter tarafından oluşturulan sayaçlar ve histogramlar gibi araçlardan ölçümler alır. MeterListener sınıfı, araçları bulmak ve ölçümlerine doğrudan abone olmak için alt düzey bir API sağlar. Ölçüm toplama öğreticisi, bu API'nin nasıl kullanılacağını gösterir.
IMetricsListener arayüzü, özel dinleyicilerin DI ve yapılandırma tabanlı filtrelerle tümleşmesini sağlar. Ölçüm altyapısı, kayıtlı her MeterListener uygulaması için dahili olarak bir IMetricsListener oluşturur. Uygulamaya bir araç sunmak için InstrumentPublished öğesini çağırmadan önce yapılandırılan kuralları uygular. Dinleyici aracı kabul ederse altyapı, gerçeklemenin sağladığı geri çağırmalara ölçümler sağlar.
Özel bir dinleyici kaydetmek için AddListener kullanın. Bu makaledeki yapılandırma, kodunuzun veya bir toplayıcının doğrudan yapılandırdığı MeterListener örnekleri için değil, bu kayıtlı dinleyiciler için geçerlidir.
Yapılandırma yükle
Varsayılan oluşturucu ayarlarını kullanan Generic Host uygulamaları, otomatik olarak IConfiguration çağırır ve Metrics içindeki AddMetrics bölümünü yükler. Barındırılmayan bir DI uygulamasında, aynı bölümü bağlamak için AddMetrics ve AddConfiguration(IMetricsBuilder, IConfiguration) öğelerini açıkça çağırın:
services.AddMetrics(metrics =>
metrics.AddConfiguration(configuration.GetSection("Metrics")));
Bu uzantı yöntemlerini kullanmak için Microsoft.Extensions.Diagnostics.Metrics ve Microsoft.Extensions.DependencyInjection ad alanlarını içeri aktarın.
Important
Metrics yapılandırması yalnızca kayıtlı IMetricsListener gerçeklemeleri için araçları filtreler. Dinleyicileri kaydetmez veya aboneliklerini etkinleştirmez, ölçüm oluşturmaz, ölçümleri toplamaz, verileri dışarı aktarmaz veya OpenTelemetry, Prometheus dotnet-countersveya başka bir toplayıcıyı otomatik olarak yapılandırmaz.
Sayaçlar ve aletler seçin
Kuralların hangi sayaçlara uygulanacağını seçmek için aşağıdaki bölümleri kullanın:
| Bölüm | Şunlar için geçerlidir: |
|---|---|
EnabledMetrics |
Hem küresel hem de yerel sayaçlar. |
EnabledGlobalMetrics |
Doğrudan Meter ile oluşturulan metreler gibi kapsamsız metreler. |
EnabledLocalMetrics |
Hizmet kapsayıcısının IMeterFactory kapsamındaki ölçümler. |
EnabledLocalMetrics altındaki bir Metrics, EnabledMetrics veya EnabledGlobalMetrics bölümü, kayıtlı her dinleyici için geçerlidir. Bir dinleyiciyi hedeflemek için bölümü dinleyicinin Name değerinin altına, örneğin Metrics:MyListener:EnabledMetrics olacak şekilde iç içe yerleştirin. Dinleyici ve araç adları, büyük/küçük harfe bakılmaksızın tam eşleşmeler gerektirir.
Bu bölümlerden herhangi birinde Boolean sayaç girdisi, sayaç adı eşleşen her aleti etkinleştirir veya devre dışı bırakır. Enstrüman düzeyi kuralları ayarlamak için, araç adlarını anahtar olarak içeren bir nesne kullanın. Özel Default girişi bir yedek seçenek sağlar. Sayaç düzeyinde boole Default girişi, aksi takdirde eşleşmeyen sayaçlar için geçerlidir. Metre nesnesi içinde, Default aksi takdirde eşleşmeyen enstrümanlar için geçerlidir. Hiçbir kural eşleşmediği takdirde dinleyici bir enstrüman almaz.
Aşağıdaki appsettings.json örnek, adları request-duration ile başlayan ölçerlerden, adı Contoso.Web olan araçlar dışındaki araçları etkinleştirir:
{
"Metrics": {
"EnabledMetrics": {
"Contoso.Web": {
"Default": true,
"request-duration": false
}
}
}
}
Kuralları eşleştirin ve çakışmaları çözün
Ölçüm adları büyük/küçük harfe duyarlı olmayan ön ek eşleştirme kullanır. Ölçüm adı, ön ek ve soneki eşleştirmek için en fazla * bir joker karakter içerebilir. Daha özel kurallar şu sırayla önceliklidir: dinleyiciye özgü kurallar, daha uzun meter adı desenleri, alete özgü kurallar ve kapsama özgü kurallar. Eşit olarak belirli kurallar çakışırsa, son yapılandırılan kural kazanır.