Application Insights’tan telemetriyi dışarı aktarma
Telemetrinizi standart saklama süresinden daha uzun süre tutmak istiyor musunuz? Yoksa özel bir şekilde işlemek mi istiyorsunuz? Sürekli dışarı aktarma bu amaç için idealdir. Application Insights portalında gördüğünüz olaylar Azure'daki depolama alanına JSON biçiminde aktarılabilir. Buradan verilerinizi indirebilir ve işlemek için ihtiyacınız olan kodu yazabilirsiniz.
Önemli
- 29 Şubat 2024 itibarıyla sürekli dışarı aktarma kullanımdan kaldırılmıştır.
- Çalışma alanı tabanlı bir Application Insights kaynağına geçiş yaptığınızda, telemetri verilerini dışarı aktarmak için tanılama ayarlarını kullanmanız gerekir. Tüm çalışma alanı tabanlı Application Insights kaynakları tanılama ayarlarını kullanmalıdır.
- Tanılama ayarlarını dışarı aktarma, maliyetleri artırabilir. Daha fazla bilgi için bkz . Tanılama ayarları tabanlı dışarı aktarma.
Sürekli dışarı aktarmayı ayarlamadan önce, göz önünde bulundurmanız gereken bazı alternatifler vardır:
- Ölçümlerin veya arama sekmesinin en üstündeki Dışarı Aktar düğmesi, tabloları ve grafikleri Excel elektronik tablosuna aktarmanıza olanak tanır.
- Log Analytics , telemetri için güçlü bir sorgu dili sağlar. Ayrıca sonuçları dışarı aktarabilir.
- Power BI'da verilerinizi araştırmak istiyorsanız, çalışma alanı tabanlı bir kaynağa geçiş yaptıysanız sürekli dışarı aktarmayı kullanmadan bunu yapabilirsiniz.
- Veri Erişimi REST API'si telemetrinize program aracılığıyla erişmenizi sağlar.
- PowerShell aracılığıyla sürekli dışarı aktarma için kuruluma da erişebilirsiniz.
Sürekli dışarı aktarma işlemi verilerinizi depolama alanına kopyaladıktan sonra istediğiniz kadar kalabilir. Her zamanki saklama süresi boyunca Application Insights'ta kullanılabilir.
Desteklenen bölgeler
Sürekli dışarı aktarma aşağıdaki bölgelerde desteklenir:
- Güneydoğu Asya
- Orta Kanada
- Orta Hindistan
- Kuzey Avrupa
- Güney Birleşik Krallık
- Doğu Avustralya
- Doğu Japonya
- Güney Kore - Orta
- Orta Fransa
- Doğu Asya
- Batı ABD
- Orta ABD
- Doğu ABD 2
- Orta Güney ABD
- Batı ABD 2
- Güney Afrika Kuzey
- Orta Kuzey ABD
- Güney Brezilya
- Kuzey İsviçre
- Güneydoğu Avustralya
- Batı Birleşik Krallık
- Orta Batı Almanya
- Batı İsviçre
- Orta Avustralya 2
- BAE Orta
- Güneydoğu Brezilya
- Orta Avustralya
- Kuzey BAE
- Norveç Doğu
- Batı Japonya
Not
Sürekli dışarı aktarma, 23 Şubat 2021'den önce yapılandırılmışsa Doğu ABD ve Batı Avrupa'daki uygulamalar için çalışmaya devam edecektir. Yeni sürekli dışarı aktarma kuralları, uygulama ne zaman oluşturulursa oluşturulsun Doğu ABD veya Batı Avrupa'daki herhangi bir uygulamada yapılandırılamaz.
Sürekli dışarı aktarma gelişmiş depolama yapılandırması
Sürekli dışarı aktarma aşağıdaki Azure Depolama özelliklerini veya yapılandırmalarını desteklemez :
- Azure Blob Depolama ile Azure Sanal Ağ/Azure Depolama güvenlik duvarlarının kullanımı.
- Azure Data Lake Storage 2. Nesil.
Sürekli dışarı aktarma oluşturma
Not
Bir uygulama günde 3 TB'tan fazla veri dışarı aktaramaz. Günde 3 TB'tan fazla dışarı aktarılırsa dışarı aktarma devre dışı bırakılır. Sınır olmadan dışarı aktarmak için tanılama ayarları tabanlı dışarı aktarmayı kullanın.
Soldaki Yapılandır'ın altında uygulamanızın Application Insights kaynağında Sürekli dışarı aktarma'yı açın ve Ekle'yi seçin.
Dışarı aktarmak istediğiniz telemetri veri türlerini seçin.
Verileri depolamak istediğiniz bir Azure Depolama hesabı oluşturun veya seçin. Depolama fiyatlandırma seçenekleri hakkında daha fazla bilgi için Fiyatlandırma sayfasına bakın.
Dışarı Aktarma hedef>Depolama hesabı ekle'yi>seçin. Ardından yeni bir mağaza oluşturun veya mevcut bir mağazayı seçin.
Uyarı
Varsayılan olarak, depolama konumu Application Insights kaynağınızla aynı coğrafi bölgeye ayarlanır. Farklı bir bölgede depolarsanız aktarım ücretlerine tabi olabilirsiniz.
Depolama alanında bir kapsayıcı oluşturun veya seçin.
Not
Dışarı aktarma işleminizi oluşturduktan sonra yeni alınan veriler Azure Blob Depolama akmaya başlar. Sürekli dışarı aktarma yalnızca sürekli dışarı aktarma etkinleştirildikten sonra oluşturulan veya alınan yeni telemetri verilerini iletir. Sürekli dışarı aktarma etkinleştirilmeden önce var olan veriler dışarı aktarılamaz. Sürekli dışarı aktarma kullanarak daha önce oluşturulmuş verileri geriye dönük olarak dışarı aktarmanın desteklenen bir yolu yoktur.
Verilerin depolama alanında görünmesi yaklaşık bir saat kadar gecikebilir.
İlk dışarı aktarma işlemi tamamlandıktan sonra Blob Depolama kapsayıcınızda aşağıdaki yapıyı bulacaksınız. (Bu yapı, topladığınız verilere bağlı olarak değişir.)
Veri Akışı Adı | Açıklama |
---|---|
Kullanılabilirlik | Kullanılabilirlik web testlerini raporlar. |
Olay | TrackEvent() tarafından oluşturulan özel olaylar. |
Özel durumlar | Sunucuda ve tarayıcıda özel durumları raporlar. |
İletiler | TrackTrace ve günlük bağdaştırıcıları tarafından gönderilir. |
Ölçümler | Ölçüm API çağrıları tarafından oluşturulur. |
PerformanceCounters | Application Insights tarafından toplanan Performans Sayaçları. |
İstekler | TrackRequest tarafından gönderildi. Standart modüller, sunucuda ölçülen sunucu yanıt süresini raporlamak için istekleri kullanır. |
Sürekli dışarı aktarmayı düzenleme
Sürekli dışarı aktarma'yı seçin ve düzenlenecek depolama hesabını seçin.
Sürekli dışarı aktarmayı durdurma
Dışarı aktarmayı durdurmak için Devre dışı bırak'ı seçin. Etkinleştir'i yeniden seçtiğinizde dışarı aktarma işlemi yeni verilerle yeniden başlatılır. Dışarı aktarma devre dışı bırakıldığı sırada portala gelen verileri almazsınız.
Dışarı aktarmayı kalıcı olarak durdurmak için silin. Bunu yaptığınızda verileriniz depolama alanından silinmez.
Dışarı aktarma ekleyemiyor veya değiştiremiyor musunuz?
Dışarı aktarmaları eklemek veya değiştirmek için Sahip, Katkıda Bulunan veya Application Insights Katkıda Bulunanı erişim izinleriniz olmalıdır. Roller hakkında bilgi edinin.
Hangi olayları alıyorsunuz?
Dışarı aktarılan veriler, istemci IP adresinden eklenen konum verileriyle uygulamanızdan aldığımız ham telemetridir.
Örnekleme tarafından atılan veriler dışarı aktarılan verilere dahil değildir.
Diğer hesaplanan ölçümler dahil değildir. Örneğin, ortalama CPU kullanımını dışarı aktarmayız, ancak ortalamanın hesaplandığı ham telemetriyi dışarı aktarırız.
Veriler, ayarladığınız kullanılabilirlik web testlerinin sonuçlarını da içerir.
Not
Uygulamanız çok fazla veri gönderiyorsa, örnekleme özelliği çalışabilir ve oluşturulan telemetrinin yalnızca bir bölümünü gönderebilir. Örnekleme hakkında daha fazla bilgi edinin.
Verileri inceleme
Depolamayı doğrudan portalda inceleyebilirsiniz. En soldaki menüden Giriş'i seçin. Azure hizmetleri ifadesinin bulunduğu üst kısımda Depolama hesapları'nı seçin. Depolama hesabı adını seçin ve Genel Bakış sayfasında Hizmetler>Blobları'nı seçin. Son olarak kapsayıcı adını seçin.
Visual Studio'da Azure Depolama'yı incelemek için Bulut Gezginini Görüntüle'yi>seçin. Bu menü komutuna sahip değilseniz Azure SDK'yı yüklemeniz gerekir. Yeni Proje iletişim kutusunu açın, Visual C#/Cloud'ı genişletin ve .NET için Microsoft Azure SDK Al'ı seçin.
Blob deponuzu açtığınızda, bir dizi blob dosyası içeren bir kapsayıcı görürsünüz. Application Insights kaynak adınızdan, izleme anahtarından ve telemetri türü, tarihi ve saatinden türetilen her dosyanın URI'sini görürsünüz. Kaynak adının tümü küçük harftir ve izleme anahtarı kısa çizgileri atlar.
Not
31 Mart 2025’te izleme anahtarı alımı desteği sona erecektir. İzleme anahtarı alımı çalışmaya devam edecek, ancak artık özellik için güncelleştirme veya destek sağlamayacağız. Yeni özelliklerden yararlanmak için bağlantı dizesi geçiş.
Tarih ve saat UTC'dir ve telemetrinin oluşturulduğu zaman değil depoya ne zaman depolandığıdır. Bu nedenle, verileri indirmek için kod yazarsanız veriler arasında doğrusal olarak hareket edebilir.
Yol şu şekildedir:
$"{applicationName}_{instrumentationKey}/{type}/{blobDeliveryTimeUtc:yyyy-MM-dd}/{ blobDeliveryTimeUtc:HH}/{blobId}_{blobCreationTimeUtc:yyyyMMdd_HHmmss}.blob"
Where:
blobCreationTimeUtc
, blob'un iç hazırlama depolama alanında oluşturulduğu zamandır.blobDeliveryTimeUtc
, blob'un dışarı aktarma hedef depolama alanına kopyalanma zamanıdır.
Veri biçimi
Veriler şu şekilde biçimlendirilir:
Her blob, birden çok
\n
ayrılmış satır içeren bir metin dosyasıdır. Yaklaşık yarım dakikalık bir süre boyunca işlenen telemetriyi içerir.Her satır, istek veya sayfa görünümü gibi bir telemetri veri noktasını temsil eder.
Her satır biçimlendirilmemiş bir JSON belgesidir. Satırları görüntülemek istiyorsanız, blobu Visual Studio'da açın ve Gelişmiş>Biçim Dosyasını Düzenle'yi>seçin.
Süreler, 10 000 kene = 1 ms olan değer değerlerindedir. Örneğin, bu değerler tarayıcıdan istek göndermek için 1 ms, almak için 3 ms ve sayfayı tarayıcıda işlemek için 1,8 ms'lik bir süre gösterir:
"sendRequest": {"value": 10000.0},
"receiveRequest": {"value": 30000.0},
"clientProcess": {"value": 17970000.0}
Özellik türleri ve değerleri için ayrıntılı veri modeli başvurusu için bkz . Application Insights veri modelini dışarı aktarma.
Verileri işleme
Küçük bir ölçekte verilerinizi ayırmak ve elektronik tabloda okumak için kod yazabilirsiniz. Örneğin:
private IEnumerable<T> DeserializeMany<T>(string folderName)
{
var files = Directory.EnumerateFiles(folderName, "*.blob", SearchOption.AllDirectories);
foreach (var file in files)
{
using (var fileReader = File.OpenText(file))
{
string fileContent = fileReader.ReadToEnd();
IEnumerable<string> entities = fileContent.Split('\n').Where(s => !string.IsNullOrWhiteSpace(s));
foreach (var entity in entities)
{
yield return JsonConvert.DeserializeObject<T>(entity);
}
}
}
}
Daha büyük bir kod örneği için bkz . Çalışan rolü kullanma.
Eski verilerinizi silme
Gerekirse depolama kapasitenizi yönetmek ve eski verileri silmek sizin sorumluluğunuzdadır.
Depolama anahtarınızı yeniden oluşturma
Depolamanızın anahtarını değiştirirseniz sürekli dışarı aktarma çalışmayı durdurur. Azure hesabınızda bir bildirim görürsünüz.
Sürekli Dışarı Aktarma sekmesini seçin ve dışarı aktarma işleminizi düzenleyin. Dışarı Aktarma Hedefi değerini düzenleyin, ancak aynı depolama alanını seçili bırakın. Onaylamak için Tamam'ı seçin.
Sürekli dışarı aktarma yeniden başlatılır.
Örnekleri dışarı aktarma
Dışarı aktarma örnekleri için bkz:
Daha büyük ölçeklerde, buluttaki HDInsight Hadoop kümelerini göz önünde bulundurun. HDInsight, büyük verileri yönetmek ve analiz etmek için çeşitli teknolojiler sağlar. Application Insights'tan dışarı aktarılan verileri işlemek için bunu kullanabilirsiniz.
Sık sorulan sorular
Bu bölüm, sık sorulan soruların yanıtlarını sağlar.
Grafiği tek seferlik indirebilir miyim?
Bunu yapabilirsin. Sekmenin üst kısmında Verileri Dışarı Aktar'ı seçin.
Dışarı aktarma ayarladım, ancak mağazamda neden veri yok?
Dışarı aktarmayı ayarladıktan sonra Application Insights uygulamanızdan telemetri aldı mı? Yalnızca yeni veriler alırsınız.
Dışarı aktarmayı ayarlamaya çalıştım, ancak erişim neden reddedildi?
Hesap kuruluşunuza aitse Sahipler veya Katkıda Bulunanlar gruplarının üyesi olmanız gerekir.
Doğrudan kendi şirket içi mağazama dışarı aktarabilir miyim?
Hayır Dışarı aktarma altyapımız şu anda yalnızca Azure Depolama ile çalışır.
Mağazama koyduğun veri miktarıyla ilgili bir sınır var mı?
Hayır Dışarı aktarmayı silene kadar verileri göndermeye devam edeceğiz. Blob Depolama için dış sınırlara ulaştıysak duracağız, ancak bu sınır çok büyük. Ne kadar depolama alanı kullandığınızı denetlemek size bağlı.
Depolamada kaç blob görmem gerekir?
- Dışarı aktarmayı seçtiğiniz her veri türü için, veriler varsa dakikada bir yeni bir blob oluşturulur.
- Yüksek trafiğe sahip uygulamalar için ek bölüm birimleri ayrılır. Bu durumda her birim dakikada bir blob oluşturur.
Anahtarı depolama alanımda yeniden oluşturdum veya kapsayıcının adını değiştirdim, ancak dışarı aktarma işlemi neden çalışmıyor?
Dışarı aktarmayı düzenleyin ve Hedef sekmeyi dışarı aktar'ı seçin. Daha önce olduğu gibi aynı depolama alanını seçili bırakın ve onaylamak için Tamam'ı seçin. Dışarı aktarma yeniden başlatılır. Değişiklik son birkaç gün içinde yapıldıysa verileri kaybetmezsiniz.
Dışarı aktarmayı duraklatabilir miyim?
Evet. Devre Dışı Bırak'ı seçin.
Kod örnekleri
- Stream Analytics örneği
- Stream Analytics kullanarak SQL'e aktarma
- Özellik türleri ve değerleri için ayrıntılı veri modeli başvurusu
Tanılama ayarları tabanlı dışarı aktarma
Ek özellikler sağladığından tanılama ayarlarını dışarı aktarma tercih edilir:
- Sanal ağlar, güvenlik duvarları ve özel bağlantılar içeren Azure Depolama hesapları.
- Azure Event Hubs'a aktarın.
Tanılama ayarlarını dışarı aktarma işlemi aşağıdaki yollarla sürekli dışarı aktarmadan farklıdır:
- Şema güncelleştirildi.
- Telemetri verileri toplu karşıya yüklemeler yerine geldikçe gönderilir.
Önemli
Depolama hesabı gibi hedefe yapılan çağrıların artması nedeniyle ek maliyetler tahakkuk edebilir.
Tanılama ayarlarını dışarı aktarmak için:
- Klasik Application Insights'ta Tanılama Ayarlarını etkinleştirin.
- Veri dışarı aktarmayı yapılandırma: Tanılama ayarları>Application Insights kaynağınızın içinden Tanılama ayarı ekle'yi seçin.
- Yeni veri dışarı aktarma işleminizin Sürekli Dışarı Aktarma ile aynı şekilde yapılandırıldığını doğrulayın
Dikkat
Tanılama günlüklerini log analytics çalışma alanında depolamak istiyorsanız, Application Insights'ta yinelenen verileri görmemek için göz önünde bulundurmanız gereken iki nokta vardır:
- Hedef Application Insights kaynağınızın temel aldığı Log Analytics çalışma alanıyla aynı olamaz.
- Application Insights kullanıcısının her iki çalışma alanına da erişimi olamaz. Log Analytics erişim denetimi modunu Çalışma alanı izinleri gerekiyor olarak ayarlayın. Azure rol tabanlı erişim denetimi aracılığıyla kullanıcının yalnızca Application Insights kaynağının temel aldığı Log Analytics çalışma alanına erişimi olduğundan emin olun.
Application Insights eksiksiz ve uçtan uca işlemler ve doğru uygulama haritaları sağlamak için Log Analytics çalışma alanları dahil, Application Insight kaynakları genelinde telemetri verilerine eriştiğinden, bu adımlar gereklidir. Tanılama günlükleri aynı tablo adlarını kullandığından, kullanıcının aynı verileri içeren birden çok kaynağa erişimi varsa yinelenen telemetri verileri görüntülenebilir.
Application Insights Dışarı Aktarma Veri Modeli
Bu tabloda, Application Insights SDK'larından portala gönderilen telemetrinin özellikleri listelenir. Bu özellikleri Sürekli Dışarı Aktarma'dan alınan veri çıkışında görürsünüz. Ayrıca Ölçüm Gezgini ve Tanılama Arama'daki özellik filtrelerinde de görünürler.
Dikkat edilecek noktalar:
[0]
bu tablolarda, yol içinde dizin eklemeniz gereken bir nokta gösterilir; ama her zaman 0 değildir.- Süreler bir mikrosaniyenin onda birindedir, bu nedenle 10000000 == 1 saniyedir.
- Tarihler ve saatler UTC'dir ve ISO biçiminde verilir
yyyy-MM-DDThh:mm:ss.sssZ
Örnek
// A server report about an HTTP request
{
"request": [
{
"urlData": { // derived from 'url'
"host": "contoso.org",
"base": "/",
"hashTag": ""
},
"responseCode": 200, // Sent to client
"success": true, // Default == responseCode<400
// Request id becomes the operation id of child events
"id": "fCOhCdCnZ9I=",
"name": "GET Home/Index",
"count": 1, // 100% / sampling rate
"durationMetric": {
"value": 1046804.0, // 10000000 == 1 second
// Currently the following fields are redundant:
"count": 1.0,
"min": 1046804.0,
"max": 1046804.0,
"stdDev": 0.0,
"sampledValue": 1046804.0
},
"url": "/"
}
],
"internal": {
"data": {
"id": "7f156650-ef4c-11e5-8453-3f984b167d05",
"documentVersion": "1.61"
}
},
"context": {
"device": { // client browser
"type": "PC",
"screenResolution": { },
"roleInstance": "WFWEB14B.fabrikam.net"
},
"application": { },
"location": { // derived from client ip
"continent": "North America",
"country": "United States",
// last octagon is anonymized to 0 at portal:
"clientip": "168.62.177.0",
"province": "",
"city": ""
},
"data": {
"isSynthetic": true, // we identified source as a bot
// percentage of generated data sent to portal:
"samplingRate": 100.0,
"eventTime": "2016-03-21T10:05:45.7334717Z" // UTC
},
"user": {
"isAuthenticated": false,
"anonId": "us-tx-sn1-azr", // bot agent id
"anonAcquisitionDate": "0001-01-01T00:00:00Z",
"authAcquisitionDate": "0001-01-01T00:00:00Z",
"accountAcquisitionDate": "0001-01-01T00:00:00Z"
},
"operation": {
"id": "fCOhCdCnZ9I=",
"parentId": "fCOhCdCnZ9I=",
"name": "GET Home/Index"
},
"cloud": { },
"serverDevice": { },
"custom": { // set by custom fields of track calls
"dimensions": [ ],
"metrics": [ ]
},
"session": {
"id": "65504c10-44a6-489e-b9dc-94184eb00d86",
"isFirst": true
}
}
}
Bağlam
Tüm telemetri türlerine bir bağlam bölümü eşlik ediyor. Bu alanların tümü her veri noktasıyla iletilmez.
Yol | Tür | Notlar |
---|---|---|
context.custom.dimensions [0] | object [ ] | Özel özellikler parametresi tarafından ayarlanan anahtar-değer dize çiftleri. Anahtar maksimum uzunluğu 100, değerler maksimum uzunluk 1024. 100'den fazla benzersiz değer, özelliği aranabilir ancak segmentasyon için kullanılamaz. ikey başına en fazla 200 tuş. |
context.custom.metrics [0] | object [ ] | Anahtar-değer çiftleri, özel ölçüm parametresi ve TrackMetrics tarafından ayarlanır. Anahtar maksimum uzunluğu 100, değerler sayısal olabilir. |
context.data.eventTime | Dize | UTC |
context.data.isSynthetic | boolean | İstek bir bottan veya web testinden geliyor gibi görünüyor. |
context.data.samplingRate | Numara | Portala gönderilen SDK tarafından oluşturulan telemetri yüzdesi. Aralık 0.0-100.0. |
context.device | nesne | İstemci cihazı |
context.device.browser | Dize | IE, Chrome, ... |
context.device.browserVersion | Dize | Chrome 48.0, ... |
context.device.deviceModel | Dize | |
context.device.deviceName | Dize | |
context.device.id | Dize | |
context.device.locale | Dize | en-GB, de-DE, ... |
context.device.network | Dize | |
context.device.oemName | Dize | |
context.device.os | Dize | |
context.device.osVersion | Dize | Konak işletim sistemi |
context.device.roleInstance | Dize | Sunucu konağı kimliği |
context.device.roleName | Dize | |
context.device.screenResolution | Dize | |
context.device.type | Dize | Bilgisayar, Tarayıcı, ... |
context.location | nesne | 'den clientip türetilmiştir. |
context.location.city | Dize | biliniyorsa, 'den clientip türetilmiştir |
context.location.clientip | Dize | Son sekizgen 0 olarak anonimleştirilir. |
context.location.continent | Dize | |
context.location.country | Dize | |
context.location.province | Dize | Eyalet veya bölge |
context.operation.id | Dize | Aynı operation id öğeler portalda İlgili Öğeler olarak gösterilir. Genellikle .request id |
context.operation.name | Dize | url veya istek adı |
context.operation.parentId | Dize | İç içe yerleştirilmiş ilgili öğelere izin verir. |
context.session.id | Dize | Id aynı kaynaktan bir işlem grubu. İşlem yapılmadan 30 dakikalık bir süre, oturumun sonuna işaret eder. |
context.session.isFirst | boolean | |
context.user.accountAcquisitionDate | Dize | |
context.user.accountId | Dize | |
context.user.anonAcquisitionDate | Dize | |
context.user.anonId | Dize | |
context.user.authAcquisitionDate | Dize | Kimliği Doğrulanmış Kullanıcı |
context.user.authId | Dize | |
context.user.isAuthenticated | boolean | |
context.user.storeRegion | Dize | |
internal.data.documentVersion | Dize | |
internal.data.id | Dize | Unique id bir öğe Application Insights'a alındığında atanan |
Ekinlikler
TrackEvent() tarafından oluşturulan özel olaylar.
Yol | Tür | Notlar |
---|---|---|
olay [0] sayısı | integer | 100/(örnekleme oranı). Örneğin 4 => %25. |
event [0] name | Dize | Olay adı. Maksimum uzunluk 250. |
olay [0] url | Dize | |
olay [0] urlData.base | Dize | |
olay [0] urlData.host | Dize |
Özel durumlar
Sunucuda ve tarayıcıda özel durumları raporlar.
Yol | Tür | Notlar |
---|---|---|
basicException [0] derlemesi | Dize | |
basicException [0] sayısı | integer | 100/(örnekleme oranı). Örneğin 4 => %25. |
basicException [0] exceptionGroup | Dize | |
basicException [0] exceptionType | Dize | |
basicException [0] failedUserCodeMethod | Dize | |
basicException [0] failedUserCodeAssembly | Dize | |
basicException [0] handledAt | Dize | |
basicException [0] hasFullStack | boolean | |
basicException [0] id |
Dize | |
basicException [0] yöntemi | Dize | |
basicException [0] iletisi | Dize | Özel durum iletisi. Maksimum uzunluk 10k. |
basicException [0] outerExceptionMessage | Dize | |
basicException [0] outerExceptionThrownAtAssembly | Dize | |
basicException [0] outerExceptionThrownAtMethod | Dize | |
basicException [0] outerExceptionType | Dize | |
basicException [0] outerId | Dize | |
basicException [0] parsedStack [0] derlemesi | Dize | |
basicException [0] parsedStack [0] fileName | Dize | |
basicException [0] parsedStack [0] düzeyi | integer | |
basicException [0] parsedStack [0] satırı | integer | |
basicException [0] parsedStack [0] yöntemi | Dize | |
basicException [0] yığını | Dize | Maksimum uzunluk 10k |
basicException [0] typeName | Dize |
İletileri İzleme
TrackTrace ve günlük bağdaştırıcıları tarafından gönderilir.
Yol | Tür | Notlar |
---|---|---|
message [0] loggerName | Dize | |
message [0] parametreleri | Dize | |
ileti [0] ham | Dize | Günlük iletisi, maksimum uzunluk 10k. |
ileti [0] önem derecesiLevel | Dize |
Uzak bağımlılık
TrackDependency tarafından gönderilir. Sunucudaki bağımlılıklara yapılan çağrıların performansını ve kullanımını ve tarayıcıda AJAX çağrılarını raporlamak için kullanılır.
Yol | Tür | Notlar |
---|---|---|
remoteDependency [0] zaman uyumsuz | boolean | |
remoteDependency [0] baseName | Dize | |
remoteDependency [0] commandName | Dize | Örneğin" giriş/dizin" |
remoteDependency [0] sayısı | integer | 100/(örnekleme oranı). Örneğin 4 => %25. |
remoteDependency [0] dependencyTypeName | Dize | HTTP, SQL, ... |
remoteDependency [0] durationMetric.value | Numara | Çağrıdan bağımlılığına göre yanıtın tamamlanmasına kadar geçen süre |
remoteDependency [0] id |
Dize | |
remoteDependency [0] name | Dize | URL. Maksimum uzunluk 250. |
remoteDependency [0] resultCode | Dize | HTTP bağımlılığından |
remoteDependency [0] başarılı | boolean | |
remoteDependency [0] türü | Dize | Http, Sql,... |
remoteDependency [0] url | Dize | Maksimum uzunluk 2000 |
remoteDependency [0] urlData.base | Dize | Maksimum uzunluk 2000 |
remoteDependency [0] urlData.hashTag | Dize | |
remoteDependency [0] urlData.host | Dize | Maksimum uzunluk 200 |
İstekler
TrackRequest tarafından gönderildi. Standart modüller, sunucu yanıt süresini sunucuda ölçülen raporlarken bunu kullanır.
Yol | Tür | Notlar |
---|---|---|
istek [0] sayısı | integer | 100/(örnekleme oranı). Örneğin: 4 => %25. |
request [0] durationMetric.value | Numara | İsteğin yanıta varma süresi. 1e7 == 1s |
request [0] id |
Dize | Operation id |
request [0] name | Dize | GET/POST + url tabanı. Maksimum uzunluk 250 |
request [0] responseCode | integer | İstemciye gönderilen HTTP yanıtı |
istek [0] başarılı | boolean | Varsayılan == (responseCode < 400) |
request [0] url | Dize | Konak dahil değil |
request [0] urlData.base | Dize | |
request [0] urlData.hashTag | Dize | |
request [0] urlData.host | Dize |
Sayfa Görünümü Performansı
Tarayıcı tarafından gönderilir. İsteği başlatan kullanıcıdan tamamlandı olarak görüntülenmesi için bir sayfayı işleme süresini ölçer (zaman uyumsuz AJAX çağrıları hariç).
Bağlam değerleri istemci işletim sistemi ve tarayıcı sürümünü gösterir.
Yol | Tür | Notlar |
---|---|---|
clientPerformance [0] clientProcess.value | integer | HTML'yi almanın sonundan sayfayı görüntülemeye kadar olan süre. |
clientPerformance [0] adı | Dize | |
clientPerformance [0] networkConnection.value | integer | Ağ bağlantısı kurmak için geçen süre. |
clientPerformance [0] receiveRequest.value | integer | İsteğin gönderilmesinin sonundan HTML'yi yanıt olarak almaya kadar olan süre. |
clientPerformance [0] sendRequest.value | integer | HTTP isteğini göndermek için geçen süre. |
clientPerformance [0] total.value | integer | İsteğin gönderilmesinden sayfayı görüntülemeye kadar olan süre. |
clientPerformance [0] url | Dize | Bu isteğin URL'si |
clientPerformance [0] urlData.base | Dize | |
clientPerformance [0] urlData.hashTag | Dize | |
clientPerformance [0] urlData.host | Dize | |
clientPerformance [0] urlData.protocol | Dize |
Sayfa Görünümleri
trackPageView() veya stopTrackPage tarafından gönderildi
Yol | Tür | Notlar |
---|---|---|
görünüm [0] sayısı | integer | 100/(örnekleme oranı). Örneğin 4 => %25. |
görünüm [0] durationMetric.value | integer | değer isteğe bağlı olarak trackPageView() veya startTrackPage() - stopTrackPage() ile ayarlanır. clientPerformance değerleriyle aynı değildir. |
view [0] name | Dize | Sayfa başlığı. Maksimum uzunluk 250 |
view [0] url | Dize | |
view [0] urlData.base | Dize | |
view [0] urlData.hashTag | Dize | |
view [0] urlData.host | Dize |
Kullanılabilirlik
Kullanılabilirlik web testlerini raporlar.
Yol | Tür | Notlar |
---|---|---|
kullanılabilirlik [0] availabilityMetric.name | Dize | availability |
kullanılabilirlik [0] availabilityMetric.value | Numara | 1.0 veya 0.0 |
kullanılabilirlik [0] sayısı | integer | 100/(örnekleme oranı). Örneğin 4 => %25. |
kullanılabilirlik [0] dataSizeMetric.name | Dize | |
kullanılabilirlik [0] dataSizeMetric.value | integer | |
kullanılabilirlik [0] durationMetric.name | Dize | |
kullanılabilirlik [0] durationMetric.value | Numara | Test süresi. 1e7==1s |
kullanılabilirlik [0] iletisi | Dize | Hata tanılama |
kullanılabilirlik [0] sonucu | Dize | Başarılı/Başarısız |
kullanılabilirlik [0] runLocation | Dize | Http req'nin coğrafi kaynağı |
availability [0] testName | Dize | |
kullanılabilirlik [0] testRunId | Dize | |
kullanılabilirlik [0] testTimestamp | Dize |
Ölçümler
TrackMetric() tarafından oluşturulur.
Ölçüm değeri context.custom.metrics[0] içinde bulunur
Örneğin:
{
"metric": [ ],
"context": {
...
"custom": {
"dimensions": [
{ "ProcessId": "4068" }
],
"metrics": [
{
"dispatchRate": {
"value": 0.001295,
"count": 1.0,
"min": 0.001295,
"max": 0.001295,
"stdDev": 0.0,
"sampledValue": 0.001295,
"sum": 0.001295
}
}
]
}
}
}
Ölçüm değerleri hakkında
Hem ölçüm raporlarında hem de başka bir yerdeki ölçüm değerleri standart bir nesne yapısıyla bildirilir. Örneğin:
"durationMetric": {
"name": "contoso.org",
"type": "Aggregation",
"value": 468.71603053650279,
"count": 1.0,
"min": 468.71603053650279,
"max": 468.71603053650279,
"stdDev": 0.0,
"sampledValue": 468.71603053650279
}
Şu anda ( gelecekte bu değişiklik gösterebilir) standart SDK modüllerinden bildirilen tüm değerlerde count==1
ve yalnızca name
ve value
alanları yararlıdır. Farklı olabilecek tek durum, diğer parametreleri ayarladığınız kendi TrackMetric çağrılarınızı yazmanız olabilir.
Diğer alanların amacı, portal trafiğini azaltmak için ölçümlerin SDK'da toplanmasına izin vermektir. Örneğin, her ölçüm raporunu göndermeden önce birkaç ardışık okumanın ortalamasını bulabilirsiniz. Ardından min, max, standart sapma ve toplama değerini (toplam veya ortalama) hesaplar ve sayıyı raporun temsil ettiği okuma sayısına ayarlarsınız.
Yukarıdaki tablolarda, nadiren kullanılan alan sayısını , min, max, stdDev ve sampledValue değerini atladık.
Ölçümleri önceden toplama yerine telemetri hacmini azaltmanız gerekiyorsa örneklemeyi kullanabilirsiniz.
Süre
Aksi belirtilmedikçe, süreler bir mikrosaniyenin onda birinde gösterilir, böylece 10000000.0 1 saniye anlamına gelir.