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.
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.Exportersürüm1.6.0veya üzeri. - .NET Application Insights SDK 3.x veya üzeri.
- Python: OpenTelemetry Distro sürümü
1.8.6veya üstü veazure-monitor-opentelemetry-exportersürümü1.0.0b47veya üstü. - Node.js: OpenTelemetry Distro sürümü
1.15.1veya üstü ve@azure/monitor-opentelemetry-exportersürümü1.0.0-beta.38veya üstü. - Node.js: Application Insights SDK sürümü
3.13.0veya ü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_CountItem_Dropped_CountItem_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.
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
sdkVersionfiltreleyin. -
Telemetri Türü: Boyuta
telemetry_typegöre filtreleyin. -
Bırakma Nedeni ve Bırakma Kodu: ve
drop.reasonölçütüne göredrop.codefiltreleyin.
Ç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
successdeğ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
429401kimlik 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.
Eğilimleri yorumlama
- 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
- Tablo aracılığıyla
customMetrics - Uyarılar
- Power BI
- Ölçüm gezgini
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.
- Application Insights kaynağınızı açın.
- Ölçümler'i açın.
- Ölçüm Ad Alanı için Günlük tabanlı ölçümler'i seçin.
-
Ölçüm için şulerden birini seçin:
Item_Success_CountItem_Dropped_CountItem_Retry_Count
- (İsteğe bağlı) Zaman dilimi toplamları için Toplama'yıToplam olarak ayarlayın.
- 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_DISABLEDveAPPLICATIONINSIGHTS_SDKSTATS_ENABLED_PREVIEWayarlandığı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)