Aracılığıyla paylaş


Azure Monitor Uygulama İçgörüleri'nde SDK istatistikleri

Application Insights , eksik veya beklenmeyen telemetri davranışlarını izlemenize ve gidermenize yardımcı olan SDK istatistikleri özel ölçümleri sunar. Telemetri alma uç noktasına ulaşmadığında SDK istatistikleri, ne olduğunu ve bundan sonra ne yapacağınızı belirlemenize yardımcı olur.

SDK istatistik ölçümleri, öğe başarısı, düşürme ve yeniden denemeler sayısını içerir. SDK istatistikleri ölçümleri, nedeni açıklayan ve sonraki adımlarda yol gösteren bırakma kodlarını ve yeniden deneme kodlarını da içerir.

Görselleştirme, SDK istatistikleri çalışma kitabında sağlanır.

Önkoşulları karşılama

Aşağıdaki SDK'lardan veya aracılardan birini kullanarak bir uygulamayı OpenTelemetry ile izleme:

  • .NET / .NET Core: Azure.Monitor.OpenTelemetry.Exporter sürüm 1.6.0 veya üzeri.
  • .NET Application Insights SDK 3.x veya üzeri.
  • Python: OpenTelemetry Distro sürümü 1.8.6 veya üstü ve azure-monitor-opentelemetry-exporter sürümü 1.0.0b47 veya üstü.
  • Node.js: OpenTelemetry Distro sürümü 1.15.1 veya üstü ve @azure/monitor-opentelemetry-exporter sürümü 1.0.0-beta.38 veya üstü.
  • Node.js: Application Insights SDK sürümü 3.13.0 veya üstü.

Uyarı

Bu özelliği GA'dan önce kullandıysanız bkz . Önizleme SDK'sından yükseltme istatistikleri

SDK istatistiklerine genel bakış

SDK istatistikleri, Application Insights SDK'larının ve aracılarının özel ölçümler olarak yaydığı işlem başına sayaçlardır. Bu ölçümler, ihracatçının başarıyla gönderdiği telemetri öğesi sayısını, ihracatçının kaç öğeyi düşürmesini ve ihracatçının yeniden deneme için kaç öğeyi zamanlamasını özetler.

SDK üç ölçüm yayımlar:

  • Item_Success_Count
  • Item_Dropped_Count
  • Item_Retry_Count

Uyarı

Yeniden deneme sayıları denemeleri temsil eder ve azalmaz. Aynı öğeler için daha sonraki bir başarı yalnızca başarı serisine yansıtılır.

Boyutları gözden geçirme

Bu ölçümler, dilimleme için içindeki boyutları ve standart Application Insights boyutlarını içerir customDimensions :

Boyut Description
telemetry_type Sayıyla ilişkili telemetri türü. Değerler , , REQUEST, DEPENDENCYEXCEPTIONTRACEve CUSTOM_EVENTgibi AVAILABILITYApplication Insights tablolarıyla hizalanır.
drop.code, drop.reason Kod ve bırakılan öğelerin kısa nedeni. Kod, alma uç noktasından bir Köprü Metni Aktarım Protokolü (HTTP) durumu veya CLIENT_EXCEPTION gibi bir istemci kodu olabilir.
retry.code, retry.reason Kod ve zamanlanmış yeniden denemelerin kısa nedeni. Kod, alma uç noktasından alınan bir Köprü Metni Aktarım Protokolü (HTTP) durumu ya da CLIENT_TIMEOUT gibi bir istemci kodudur.
telemetry_success ve REQUESTiçinDEPENDENCY, telemetri öğesinin success dışarı aktarma zamanındaki değeri (true veya false).
language, version SDK veya aracı dili ve sürümü.
compute.type Azure Kubernetes Service (AKS) (aks), Azure App Service (), Azure İşlevleri (appsvc), Azure Spring Apps (functionsspringcloud), sanal makine (VM) (vm) veya unknowngibi işlem ortamı.
sdkVersion SDK sürüm dizesi etiketlerde de kullanılabilir.
cloud_RoleName, cloud_RoleInstance Hizmete ve örneğe göre dilimlerken kullanabileceğiniz kaynak boyutları.

Her ölçüm satırı, dışarı aktarma aralığı için toplanan bir sayıyı temsil eder. Bir zaman diliminde denenen toplam, bu dilim için eşittir Item_Success_Count + Item_Dropped_Count .

SDK istatistiklerini yapılandırma

SDK istatistikleri varsayılan olarak etkindir. SDK istatistiklerini devre dışı bırakmak veya dışarı aktarma aralığını yapılandırmak için ortam değişkenlerini kullanın. Ortam değişkenini değiştirdikten sonra uygulamayı yeniden başlatın.

SDK istatistiklerini devre dışı bırakma

Uygulama işlemi ortamında ortam değişkenini APPLICATIONINSIGHTS_SDKSTATS_DISABLED=true ayarlayın, ardından uygulamayı yeniden başlatın.

Dışarı aktarma aralığı ayarlama

  • 15 dakikalık varsayılan dışarı aktarma aralığını kullanın.
  • ile APPLICATIONINSIGHTS_SDKSTATS_EXPORT_INTERVALsaniye cinsinden farklı bir aralık ayarlayın.

Çalışma kitabı kaynaklarını dağıtmanız gerekmez. SDK istatistikleri şablonu, Application Insights kaynağınızın altındaki Çalışma Kitapları galerisinde görünür. ÇALıŞMA kitabında SDK bu özel ölçümleri gösterene kadar Veri yok gösterilir.

SDK istatistikleri çalışma kitabını açma

Application Insights kaynağınızı açın, ardından Çalışma Kitapları'nı açın ve SDK istatistikleri'ne tıklayın. Bu deneyim, basitleştirilmiş bir görsel kümesine sahip tek bir çalışma kitabı kullanır.

SDK istatistikleri varsayılan çalışma kitabının ekran görüntüsü.

Filtreleri kullanma

Görünümün kapsamını daraltmak için çalışma kitabının üst kısmındaki filtreleri kullanın:

  • Zaman Aralığı: Zaman penceresine ve bölme boyutuna göre filtreleyin.
  • SDK Sürümü: Alana göre sdkVersion filtreleyin.
  • Telemetri Türü: Boyuta telemetry_type göre filtreleyin.
  • Bırakma Nedeni ve Bırakma Kodu: ve drop.reasonölçütüne göre drop.code filtreleyin.

Çalışma kitabı görsellerini gözden geçirme

Çalışma kitabı, sonuçları bağlamda tutan kısa bir grafik kümesine odaklanır:

  • Düşme oranı. Seçili zaman diliminde gösterilir dropped / (dropped + success) .
  • Zaman içinde istek ve bağımlılık analizi. İstek ve bağımlılık telemetrisini uygulamadaki öğenin success değerine göre böler, sonra da Ayrı çubuk grafiklerde Gönderilmiş ve Bırakılan grafiklerini gösterir:
    • Başarılı ve gönderildi ve bırakıldı. Bu grafik, uygulamanın başarılı olarak kaydettiği istek ve bağımlılık öğelerini gösterir. Grafik, veri ihracatçısının Application Insights'a gönderdiği öğeleri, veri ihracatçısının bıraktığı öğelerle karşılaştırır.
    • Başarısız ve gönderildi ile bırakılanlar karşılaştırması. Uygulamanın başarısız olarak kaydettiği ve ihracatçının gönderdiği öğeleri, ihracatçının aynı kategoriden bıraktığı öğelerle karşılaştırır. Başarısız, Bırakılan'daki ani artışlar genellikle geçici hizmet sorunlarını, azaltmayı veya yapılandırma sorunlarını gösterir.
    • Nedenleri yalıtmak için Bırakma Nedeni, Bırakma Kodu ve SDK Sürümü filtrelerini kullanın. Örneğin Başarısız, Bırakılan artarsa azaltma veya 429401 kimlik doğrulama sorunlarını denetleyin403.
  • Zaman demetine detaya gitme. Demet seçildiğinde, bu döneme ait en önemli bırakma nedenleri ve kodları içeren bir döküm görünümü açılır.
  • Zaman içindeki sonuçları dışarı aktarın. Başarı, yeniden deneme ve bırakma sayılarını çizer.

Beklenmeyen telemetri davranışlarını giderme

Ne olduğunu ve bundan sonra ne yapacağını belirlemek için kodları kullanın. Çalışma kitabı açıklamaları, ilk olarak nereye bakmanız gerektiğini gösterir.

Bırakma kodlarını tanılama

İhracatçı, teslim edemeyeceği ürünler için drop.code ayarlar. Aşağıdaki kılavuzu kullanın.

Uyarı

Alma uç noktası, bazı telemetri öğelerini kabul edip diğerlerini aynı partide reddettiğinde 206 Partial Content değerini döndürür. İhracatçı, Item_Success_Count içerisinde kabul edilen telemetri öğelerini sayar. İhracatçı, Item_Dropped_Count içindeki reddedilen telemetri öğelerini sayar ve reddetme nedenini drop.code olarak ayarlar.

İstemci çıkış kodlarını gözden geçirme

drop.code Pratikte ne anlama gelir? Bundan sonra yapmanız gerekenler
CLIENT_EXCEPTION Dışarı aktarma bir özel duruma isabet ettiğinden veya yanıt almadığından öğeler bırakıldı. Uygulama ve dışarı aktarma günlüklerini denetleyin. Etki Alanı Adı Sistemi (DNS), Aktarım Katmanı Güvenliği (TLS), ara sunucu, güvenlik duvarı ve giden internet kurallarını doğrulayın. Konaktan uç nokta erişilebilirliğini doğrulayın.
CLIENT_READONLY Dosya sistemi salt okunur olduğundan yerel kalıcılık yazamıyor. Kalıcılığı yazılabilir bir yola yöneltin. Kapsayıcı veya sanal makine (VM) izinlerini düzeltin. Ortamda izin verilmiyorsa disk kalıcılığını devre dışı bırakmayı göz önünde bulundurun.
CLIENT_PERSISTENCE_CAPACITY Yerel kalıcılık dolu ve yeni öğeler arabelleğe alınamıyor. Disk kotası veya depolama boyutunu artırın. Toplu iş boyutunu veya alım hızını azaltın. Örneklemeyi göz önünde bulundurun.
CLIENT_STORAGE_DISABLED Yerel kalıcılık devre dışı bırakıldı. Arabelleğe alınması gereken öğeler kaydedilemez ve atılır. Baskıyı azaltmak için yerel depolamayı etkinleştirin veya ölçeği genişletin.
*NON_RETRYABLE_STATUS_CODE Alma uç noktası , , 400401veya 403gibi 404kalıcı olmayan bir durum döndürdü. Yapılandırmayı, kimlik bilgilerini veya telemetri şemasını düzeltmek ve yeniden dağıtmak için HTTP kod tablolarını kullanın.

Alma uç noktası HTTP durum kodlarını gözden geçirin

HTTP durumu Tipik neden Bundan sonra yapmanız gerekenler
200 OK Tüm öğeler kabul edildi. Eyleme gerek yoktur.
206 Partial Content Bazı öğeler kabul edilirken diğerleri reddedildi. Öğe başına hatalara karşı dışarı aktarma günlüklerini inceleyin. Şemayı ve boyutları doğrulayın. Yüklerin boyut sınırlarına yaklaştığında toplu iş boyutunu küçültün.
307 veya 308 Redirect Damgaya özgü bir uç noktaya yeniden yönlendirme. Ortamınızda yeniden yönlendirmelere izin verin. Bağlantı dizesini güncelleştirin.
400 Bad Request Geçersiz telemetri veya desteklenmeyen şema. Bazı durumlarda Microsoft Entra yanlış yapılandırması 400 olarak ortaya çıkar. Yük boyutlarını ve şemasını doğrulayın. Yanlış yönlendirildiyse bağlantı dizesini veya belirteç hedef kitlesini düzeltin.
401 Unauthorized Kimlik doğrulaması başarısız oldu veya belirteçte gerekli izinler yok. Bağlantı dizesini veya kimlik bilgilerini düzeltin. Kimliğin Application Insights için doğru rollere ve belirteç kapsamına sahip olduğundan emin olun.
402 Payment Required Günlük üst sınır aşıldı. Günlük üst sınırı ayarlayın, alımı azaltın veya örneklemeyi artırın. Sıfırlamayı bekleyin.
403 Forbidden İzin veya eşleme yanlış. Rol atamalarını veya uç nokta eşlemesini düzeltin. Kaynak ve bağlantı dizesinin aynı ortama ait olduğunu onaylayın.
404 Not Found Bağlantı dizesi yanlış bölgeye veya kaynağa işaret etti. Bağlantı dizesini güncelleştirin.
405 Method Not Allowed İstek yöntemine izin verilmiyor. SDK'yı yükseltin ve yalnızca desteklenen yöntemlerin kullanıldığını onaylayın.
408 Request Timeout Ağ zaman aşımı. Ağ gecikme süresini ve güvenlik duvarı kurallarını denetleyin. Uygunsa istemci zaman aşımını artırın.
413 Payload Too Large Toplu iş yükü boyut sınırlarını aştı. En büyük toplu iş boyutunu küçültün. Daha sık ve daha küçük toplu işlemler göndermeyi göz önünde bulundurun.
429 Too Many Requests ile Retry-Afterazaltma. Gönderme hızını azaltın. saygı gösterin Retry-After. Örneklemeyi artırın veya ölçeği artırın.
439 Daily Quota Exceeded (kullanım dışı) Eski kota sinyali. 402 ile aynı. Bundan sonra 402'yi izleyin.
5xx Server Error Geçici hizmet sorunu. Kurtarma bekleniyor. Birkaç dakikadan fazla devam ederse Azure durumunu denetleyin ve zaman damgaları ve bölgeleri olan bir destek olayı açın.
Other Tanınmadı. Günlüklerden bağıntı tanımlayıcılarını (kimlikler) yakalayın ve bir destek olayı açın.

Yeniden deneme kodlarını tanılama

Dışarı aktarma, daha sonra göndermek üzere zamanlandığı öğeler için ayarlar retry.code . Yeniden denemeler, son bir bırakma değil, henüz başarılı olmayan bir teslim girişimini gösterir.

retry.code Pratikte ne anlama gelir? Bundan sonra yapmanız gerekenler
CLIENT_EXCEPTION Ağ hatası gibi bir çalışma zamanı özel durumu teslimi engelledi. DNS, proxy'ler, TLS ve güvenlik duvarını denetleyin. Özel durum ayrıntıları için dışarı aktarma günlüklerini gözden geçirin.
CLIENT_TIMEOUT İhracatçı yanıt beklerken zaman aşımına uğradı. Uygunsa zaman aşımını artırın. Ağ gecikme süresini ve sunucu yanıt hızını araştırma.
*RETRYABLE_STATUS_CODE Alma uç noktası yeniden denenebilir bir HTTP durumu döndürdü (örneğin408, , 4295xx). Nihai kurtarmayı bekleyebilirsiniz. Azaltıldığında gönderme hızını veya örneklemeyi azaltın. Retry-After İzle ve onu onurlandır.

Yeniden denemeleri yorumlama

Veren Item_Retry_Count telemetri verilerinin yeniden gönderilmesini zamanlaması her zaman sayaç artar. Nihai sonuçları değil, girişimleri yansıtır. Sayaç hiçbir zaman azalmaz. Teslimat sağlığını anlamak için bu ölçümü başarılı ve başarısız serilerle birlikte kullanın.

  • Artan bir yeniden deneme satırını veri kaybı olarak değil, bir sinyal olarak değerlendirin. Öğeler daha sonra başarıyla gönderilebilir.
  • Yeniden denemeleri başarı ile karşılaştırın. Yeniden denemelerdeki ani artış sonrasında başarı düzelirse sorun geçicidir.
  • Yeniden denemeleri düşürülenlerle karşılaştırın. Yeniden denemeler artarken bırakılanlar sıfıra yakın kalırsa, ihracatçı verileri arabelleğe alır ve kurtarır.
  • Düz veya düşen başarı oranıyla sürekli yüksek yeniden denemeleri araştırın. Bu düzen bir engelleme sorununa işaret eder. Başarıyla geri yükleme seçeneğini kullanın.
Koda göre araştırma

Denemelerin neden yeniden denenmekte olduğunu belirlemek için yeniden deneme ölçümünü ölçütüne retry.code bölün.

retry.code Genellikle ne anlama gelir? Daha sonra ne denetlenecek veya yapılacaklar
CLIENT_TIMEOUT İhracatçı yanıt beklerken zaman aşımına uğradı. Uygunsa istemci zaman aşımını artırın. Gecikme süresini, ara sunucuları ve güvenlik duvarı kurallarını denetleyin.
CLIENT_EXCEPTION Ağ veya çalışma zamanı hatası teslimi engelledi. İhracatçı günlüklerini gözden geçirin. DNS, TLS, proxy ve giden ağ yapılandırmasını doğrulayın.
408 İstek alma uç noktasında zaman aşımına uğradı. Ağ yolunu ve gecikme süresini araştırın. Daha küçük toplu işlemleri veya daha yüksek gönderme sıklığını göz önünde bulundurun.
429 Genellikle ile Retry-Afteralımı tarafından azaltılır. Gönderme hızını azaltın veya örneklemeyi artırın. Yeniden denemeden önce saygıyı Retry-After kabul edin.
5xx Alım sırasında geçici hizmet sorunu. Kurtarma bekleniyor. Geri alma ile yeniden denemeye devam edin. Devam ederse Azure durumunu denetleyin.
Geri yükleme başarılı

Yeniden denemeler artmaya devam ederse ve başarı iyileşmezse, engelleyeni bulmak için bırakma kodlarına geçin. Yapılandırma ve kota sorunlarıyla 402 (günlük üst sınır) 401 veya 403 (kimlik doğrulaması veya izin) ve , CLIENT_PERSISTENCE_CAPACITYveya CLIENT_READONLYgibi CLIENT_STORAGE_DISABLEDistemci depolama sorunlarıyla başlayın. Temel nedeni düzeltin, ardından düşen değerlerin sıfıra geri döndüğünü ve sonraki aralıklarda başarının arttığını onaylayın.

Maliyet ve veri hacmini tahmin edin

SDK istatistikleri toplanmış customMetrics kayıtları gönderir. İş yükü her telemetri öğesi yerine sayaçlar yayımlar, böylece veri hacmi uygulama telemetrisine göre düşük kalır. Kayıtlar, için customMetricsstandart Application Insights veri alımı olarak faturalandırılarak saklama ayarlarınızı izler. İhracatçı, sayaçları mevcut alım kanalına gönderir.

Planlama formülü kullanma

Estimated records per hour per instance ≈
  (#metrics emitted per interval)
  × (3600 / interval_seconds)
  × (distinct dimension combinations you use)

Varsayılan aralık 15 dakikadır (interval_seconds = 900). ile APPLICATIONINSIGHTS_SDKSTATS_EXPORT_INTERVALfarklı bir aralık yapılandırın.

SDK istatistiklerini varsayılan çalışma kitabının dışında kullanma

SDK istatistikleri özel ölçümlerini diğer Azure İzleyici özellikleriyle kullanabilirsiniz.

Azure Veri Gezgini'nde sorgulama

Kusto Sorgu Dili (KQL) başvuru örnekleri aşağıdadır.

Dışarı aktarma sonuçları ve zaman karşılaştırması

let g = 15m; // align with export interval for clearer charts
customMetrics
| where name in ("Item_Success_Count", "Item_Dropped_Count", "Item_Retry_Count")
| summarize
    success = sumif(todouble(value), name == "Item_Success_Count"),
    dropped = sumif(todouble(value), name == "Item_Dropped_Count"),
    retry   = sumif(todouble(value), name == "Item_Retry_Count")
    by bin(timestamp, g)

Zaman içindeki fiyatlar

let g = 15m;
customMetrics
| where name in ("Item_Success_Count", "Item_Dropped_Count", "Item_Retry_Count")
| summarize
    success = sumif(todouble(value), name == "Item_Success_Count"),
    dropped = sumif(todouble(value), name == "Item_Dropped_Count"),
    retry   = sumif(todouble(value), name == "Item_Retry_Count")
    by bin(timestamp, g)
| extend drop_rate = dropped / iff((success + dropped) == 0.0, 1.0, (success + dropped))
| extend retry_to_attempt_ratio = retry / iff((success + dropped) == 0.0, 1.0, (success + dropped))
| project timestamp, drop_rate, retry_to_attempt_ratio

Zaman içinde istek ve bağımlılık analizi (yığılmış çubukları çoğaltır)

let g = 15m;
// Successful request or dependency telemetry: sent vs dropped
let sent_success = (requests
| where success == true
| summarize c = count() by bin(timestamp, g)
| union (dependencies | where success == true | summarize c = count() by bin(timestamp, g))
| summarize sent = sum(c) by timestamp);
let dropped_success = (customMetrics
| where name == "Item_Dropped_Count"
| extend telemetry_type = tostring(customDimensions["telemetry_type"]),
        telemetry_success = tostring(customDimensions["telemetry_success"])
| where telemetry_type in ("REQUEST","DEPENDENCY") and telemetry_success == "true"
| summarize dropped = sum(todouble(value)) by bin(timestamp, g));
sent_success
| join kind=fullouter dropped_success on timestamp
| project timestamp, ["Successful - Sent"] = todouble(sent), ["Successful - Dropped"] = todouble(dropped)
| order by timestamp asc;

// Failed request or dependency telemetry: sent vs dropped
let sent_failed = (requests
| where success == false
| summarize c = count() by bin(timestamp, g)
| union (dependencies | where success == false | summarize c = count() by bin(timestamp, g))
| summarize sent = sum(c) by timestamp);
let dropped_failed = (customMetrics
| where name == "Item_Dropped_Count"
| extend telemetry_type = tostring(customDimensions["telemetry_type"]),
        telemetry_success = tostring(customDimensions["telemetry_success"])
| where telemetry_type in ("REQUEST","DEPENDENCY") and telemetry_success == "false"
| summarize dropped = sum(todouble(value)) by bin(timestamp, g));
sent_failed
| join kind=fullouter dropped_failed on timestamp
| project timestamp, ["Failed - Sent"] = todouble(sent), ["Failed - Dropped"] = todouble(dropped)
| order by timestamp asc

Kodla birlikte bırakma nedenleri özeti

customMetrics
| where name == "Item_Dropped_Count"
| extend drop_reason = tostring(customDimensions["drop.reason"]),
        drop_code   = tostring(customDimensions["drop.code"])
| summarize total_dropped = sum(todouble(value)) by drop_reason, drop_code
| order by total_dropped desc

Uyarı oluşturma

Oranları veya belirli kodları izleyen günlük uyarıları oluşturun.

// Drop rate over 5 minutes
let window = 5m;
customMetrics
| where timestamp >= ago(window)
| where name in ("Item_Success_Count", "Item_Dropped_Count")
| summarize
    success = sumif(todouble(value), name == "Item_Success_Count"),
    dropped = sumif(todouble(value), name == "Item_Dropped_Count")
| extend drop_rate = dropped / iff((success + dropped) == 0.0, 1.0, (success + dropped))
| project drop_rate
// Over-quota daily cap (HTTP 402) in the last 10 minutes
let window = 10m;
customMetrics
| where timestamp >= ago(window)
| where name == "Item_Dropped_Count"
| extend drop_code = tostring(customDimensions["drop.code"])
| summarize dropped_402 = sum(todouble(value)) by drop_code
| where drop_code == "402" and dropped_402 > 0
| project dropped_402

Tavsiye

Yanıtlayanların üst sınırı ayarlayabilmesi veya alımı azaltabilmesi için 402 uyarısını günlük üst sınır kılavuzuyla eşleştirin.

Power BI'ı kullanma

Bu ölçümleri Power BI'a getirmek için Azure İzleyici Günlükleri bağlayıcısını kullanın.

// Drop and retry ratios by hour
let window = 14d;
let g = 1h;
customMetrics
| where timestamp >= ago(window)
| where name in ("Item_Success_Count", "Item_Dropped_Count", "Item_Retry_Count")
| summarize
    success = sumif(todouble(value), name == "Item_Success_Count"),
    dropped = sumif(todouble(value), name == "Item_Dropped_Count"),
    retry   = sumif(todouble(value), name == "Item_Retry_Count")
    by bin(timestamp, g)
| extend drop_rate = dropped / iff((success + dropped) == 0.0, 1.0, (success + dropped))
| extend retry_to_attempt_ratio = retry / iff((success + dropped) == 0.0, 1.0, (success + dropped))
| order by timestamp asc
// Dropped items by reason
let window = 14d;
let g = 1h;
customMetrics
| where timestamp >= ago(window)
| where name == "Item_Dropped_Count"
| extend drop_reason = tostring(customDimensions["drop.reason"])
| summarize dropped = sum(todouble(value)) by bin(timestamp, g), drop_reason
| order by timestamp asc

Ölçüm gezginini kullanma

Ölçümler'de bu SDK istatistiklerini grafikleyin.

  1. Application Insights kaynağınızı açın.
  2. Ölçümler'i açın.
  3. Ölçüm Ad Alanı için Günlük tabanlı ölçümler'i seçin.
  4. Ölçüm için şulerden birini seçin:
    • Item_Success_Count
    • Item_Dropped_Count
    • Item_Retry_Count
  5. (İsteğe bağlı) Zaman dilimi toplamları için Toplama'yıToplam olarak ayarlayın.
  6. Araştırmak için Bölme ölçütü'ne tıklayın. Yaygın bölmeler:
    • drop.reason, drop.code
    • telemetry_type, sdkVersion
    • cloud_RoleName, cloud_RoleInstance

SDK istatistikleri sayılarını günlüklerle karşılaştırma

Bu sayaçların veya requestsgibi dependencies tablolarda öğe sayılarına eşit olmasını beklemeyin. Farklılıklar çeşitli nedenlerle oluşur:

  • Toplama zamanlaması. Aralıklar ve toplu işlemler için toplam istatistikler. Günlükler tek tek öğeleri depolar, bu nedenle farklı zaman dilimlerindeki sayılar kayabilir.
  • Örnekleme ve işlemciler. SDK örneklemeyi ve telemetriyi bırakan veya değiştiren tüm işlemcileri uygulayan istatistikler öğeleri sayar. Günlükler, alım uç noktasının kabul edilenleri yansıtır.
  • Kısmi başarılar. Alma uç noktası bir toplu işlemi kabul edebilir ve geri kalanını reddedebilir. Dışarı aktarma, kabul edilen öğeleri başarılı ve reddedilen öğeleri aynı aralıkta bırakıldı olarak kaydeder.
  • Yerel arabelleğe alma. dışarı aktarma işlemi yeniden denendiğinde, arabelleğe alınan öğeleri daha sonra gönderebilir. Bırakılan, yeniden denenen veya başarılı sayılan istatistiklerin atandığı süre her zaman özgün telemetrinin olay zamanıyla eşleşmez.
  • Kota veya günlük üst sınır üzerinde. Kaynak günlük sınırını aştığında, alım uç noktası bir hata döndürür ve dışarı aktarma kayıtları düşer. İlgili uygulama telemetrisi, büyük harf penceresi sırasında günlüklerde görünmez.
  • Scope. İstatistikler, ihracatçı davranışını kapsar. Günlükler, ihracatçının başarısını etkilemeyen alanlar da dahil olmak üzere uçtan uca telemetriyi kapsar.

Önizleme SDK'sından yükseltme sonrası istatistikleri

Önizleme sürümü sırasında SDK istatistiklerini test ettiyseniz, genel kullanılabilirlik (GA) SDK sürümüne yükseltirken ortam değişkenlerini, sorguları, uyarıları ve panoları güncelleştirin.

Ortam değişkenlerini güncelleştirme

  • ortam değişkenini APPLICATIONINSIGHTS_SDKSTATS_ENABLED_PREVIEWkaldırın.
  • SDK istatistikleri ölçümlerini göndermeyi durduracak şekilde ayarlayın APPLICATIONINSIGHTS_SDKSTATS_DISABLED=true .
  • Her iki APPLICATIONINSIGHTS_SDKSTATS_DISABLED ve APPLICATIONINSIGHTS_SDKSTATS_ENABLED_PREVIEW ayarlandığında, APPLICATIONINSIGHTS_SDKSTATS_DISABLED öncelikli olacaktır.

Ölçüm adlarını güncelleştirme

Önizleme SDK'sı sürümleri farklı ölçüm adları gösterir. Önizleme ölçüm adlarına başvuran günlük sorgularını, uyarıları, panoları ve grafikleri güncelleyin.

Önizleme ölçüt adı GA ölçüm adı
preview.item.success.count Item_Success_Count
preview.item.dropped.count Item_Dropped_Count
preview.item.retry.count Item_Retry_Count

SDK istatistikleri çalışma kitabı, Önizleme ve GA ölçüm adlarını bir araya getirir.

Yükseltme sırasında karma sürüm sorguları kullanma

Ortamınız hem Önizleme hem de GA SDK sürümleri içeriyorsa, her iki ad kümesini de toplayan sorguları kullanın. Tüm örnekleri yükseltdikten sonra sorgulardan ve uyarılardan Önizleme ölçüm adlarını kaldırın.

let g = 15m;
customMetrics
| where name in (
    "Item_Success_Count", "Item_Dropped_Count", "Item_Retry_Count",
    "preview.item.success.count", "preview.item.dropped.count", "preview.item.retry.count"
  )
| summarize
    success = sumif(todouble(value), name in ("Item_Success_Count", "preview.item.success.count")),
    dropped = sumif(todouble(value), name in ("Item_Dropped_Count", "preview.item.dropped.count")),
    retry   = sumif(todouble(value), name in ("Item_Retry_Count", "preview.item.retry.count"))
    by bin(timestamp, g)