Mengekspor telemetri dari Application Insights
Apakah Anda ingin menyimpan telemetri Anda lebih lama dari periode retensi standar? Atau apakah Anda ingin memprosesnya dengan cara khusus? Ekspor berkelanjutan sangat ideal untuk tujuan ini. Peristiwa yang Anda lihat di portal Application Insights dapat diekspor ke penyimpanan di Azure dalam format JSON. Dari sana, Anda dapat mengunduh data dan menulis kode apa pun yang Anda butuhkan untuk memprosesnya.
Penting
- Pada 29 Februari 2024, ekspor berkelanjutan dihentikan.
- Saat bermigrasi ke sumber daya Application Insights berbasis ruang kerja, Anda harus menggunakan pengaturan diagnostik untuk mengekspor telemetri. Semua sumber daya Application Insights berbasis ruang kerja harus menggunakan pengaturan diagnostik.
- Mengekspor pengaturan diagnostik dapat meningkatkan biaya. Untuk informasi selengkapnya, lihat Ekspor berbasis pengaturan diagnostik.
Sebelum Anda menyiapkan ekspor berkelanjutan, terdapat beberapa alternatif yang mungkin ingin Anda pertimbangkan:
- Tombol Ekspor di bagian atas metrik atau tab pencarian memungkinkan Anda mentransfer tabel dan bagan ke lembar bentang Excel.
- Analitik Log menyediakan bahasa kueri yang kuat untuk telemetri. Analytics juga dapat mengekspor hasil.
- Jika Anda ingin menjelajahi data di Power BI, Anda bisa melakukannya tanpa menggunakan ekspor berkelanjutan jika Anda telah bermigrasi ke sumber daya berbasis ruang kerja.
- REST API Akses Data memungkinkan Anda mengakses telemetri secara terprogram.
- Anda juga dapat mengakses penyiapan untuk ekspor berkelanjutan melalui PowerShell.
Setelah ekspor berkelanjutan menyalin data Anda ke penyimpanan, di mana data tersebut dapat tetap ada selama yang Anda suka, data tersebut masih tersedia di Application Insights untuk periode retensi biasa.
Wilayah yang didukung
Ekspor berkelanjutan didukung di wilayah berikut:
- Asia Tenggara
- Kanada Tengah
- India Tengah
- Eropa Utara
- UK Selatan
- Australia Timur
- Jepang Timur
- Korea Tengah
- Prancis Tengah
- Asia Timur
- US Barat
- AS Tengah
- AS Timur 2
- AS Tengah Bagian Selatan
- US Barat 2
- Afrika Selatan Utara
- AS Tengah Bagian Utara
- Brasil Selatan
- Swiss Utara
- Australia Tenggara
- UK Barat
- Jerman Barat Tengah
- Swiss Barat
- Australia Tengah 2
- UAE Tengah
- Brasil Tenggara
- Australia Tengah
- Arab Saudi Utara
- Norwegia Timur
- Jepang Barat
Catatan
Ekspor berkelanjutan akan terus berfungsi untuk aplikasi di US Timur dan Eropa Barat jika ekspor dikonfigurasi sebelum 23 Februari 2021. Aturan ekspor berkelanjutan baru tidak dapat dikonfigurasi pada aplikasi apa pun di US Timur atau Eropa Barat, tidak peduli kapan aplikasi dibuat.
Konfigurasi penyimpanan lanjutan ekspor berkelanjutan
Ekspor berkelanjutan tidak mendukung fitur atau konfigurasi Azure Storage berikut:
- Penggunaan firewall Azure Virtual Network/Azure Storage dengan Azure Blob Storage.
- Azure Data Lake Storage Gen2.
Membuat ekspor berkelanjutan
Catatan
Aplikasi tidak dapat mengekspor lebih dari 3 TB data per hari. Jika lebih dari 3 TB per hari diekspor, ekspor akan dinonaktifkan. Untuk mengekspor tanpa batas, gunakan ekspor berbasis pengaturan diagnostik.
Di sumber daya Application Insights untuk aplikasi Anda di bawah Konfigurasikan di sebelah kiri, buka Ekspor berkelanjutan dan pilih Tambahkan.
Pilih jenis data telemetri yang ingin Anda ekspor.
Buat atau pilih akun Azure Storage tempat Anda ingin menyimpan data. Untuk informasi selengkapnya tentang opsi harga penyimpanan, lihat halaman Harga.
Pilih Tambahkan>akun Penyimpanan tujuan>Ekspor. Kemudian buat toko baru atau pilih penyimpanan yang sudah ada.
Peringatan
Secara default, lokasi penyimpanan akan diatur ke wilayah geografis yang sama dengan sumber daya Application Insights Anda. Jika menyimpan di wilayah lain, Anda mungkin dikenakan biaya transfer.
Buat atau pilih kontainer di penyimpanan.
Catatan
Setelah Anda membuat ekspor, data yang baru diserap akan mulai mengalir ke Azure Blob Storage. Ekspor berkelanjutan hanya mengirimkan telemetri baru yang dibuat atau diserap setelah ekspor berkelanjutan diaktifkan. Data apa pun yang ada sebelum mengaktifkan ekspor berkelanjutan tidak akan diekspor. Tidak ada cara yang didukung untuk mengekspor data yang dibuat sebelumnya secara retroaktif dengan menggunakan ekspor berkelanjutan.
Penundaan selama sekitar satu jam dapat terjadi sebelum data muncul di penyimpanan.
Setelah ekspor pertama selesai, Anda akan menemukan struktur berikut dalam kontainer Blob Storage Anda. (Struktur ini bervariasi tergantung pada data yang Anda kumpulkan.)
Nama | Deskripsi |
---|---|
Ketersediaan | Melaporkan uji web ketersediaan. |
Kejadian | Peristiwa kustom yang dihasilkan oleh TrackEvent(). |
Pengecualian | Melaporkan pengecualian di server dan di browser. |
Pesan | Dikirim oleh TrackTrace, dan oleh adapter pengelogan. |
Metrik | Dihasilkan oleh panggilan API metrik. |
PerformanceCounters | Penghitung Kinerja yang dikumpulkan oleh Application Insights. |
Permintaan | Dikirim oleh TrackRequest. Modul standar menggunakan permintaan untuk melaporkan waktu respons server, yang diukur di server. |
Edit ekspor berkelanjutan
Pilih Ekspor berkelanjutan dan pilih akun penyimpanan untuk diedit.
Hentikan ekspor berkelanjutan
Untuk menghentikan ekspor, pilih Nonaktifkan. Saat Anda memilih Aktifkan lagi, ekspor dimulai ulang dengan data baru. Anda tidak akan mendapatkan data yang tiba di portal ketika ekspor dinonaktifkan.
Untuk menghentikan ekspor secara permanen, hapus ekspor tersebut. Menghentikan permanen ekspor tidak menghapus data Anda dari penyimpanan.
Tidak bisa menambahkan atau mengubah ekspor?
Untuk menambah atau mengubah ekspor, Anda memerlukan hak akses Pemilik, Kontributor, atau Kontributor Application Insights. Pelajari tentang peran.
Peristiwa apa yang Anda dapatkan?
Data yang diekspor adalah data telemetri mentah yang diterima dari aplikasi Anda, dengan menambahkan data lokasi dari alamat IP klien.
Data yang telah dibuang melalui pengambilan sampel tidak termasuk ke dalam data yang diekspor.
Metrik yang dihitung lainnya tidak disertakan. Contohnya, kami tidak mengekspor utilisasi CPU rata-rata, tetapi kami mengekspor telemetri tempat penghitungan rata-rata.
Data tersebut juga mencakup hasil dari setiap uji web ketersediaan yang telah Anda siapkan.
Catatan
Jika aplikasi Anda mengirim banyak data, fitur pengambilan sampel mungkin beroperasi dan hanya mengirim sebagian kecil dari telemetri yang dihasilkan. Pelajari lebih lanjut tentang pengambilan sampel.
Memeriksa data
Anda dapat memeriksa penyimpanan secara langsung di portal. Pilih Beranda di menu paling kiri. Di bagian atas tempat tertulis layanan Azure, pilih Akun penyimpanan. Pilih nama akun penyimpanan, dan pada halaman Gambaran Umum pilih Blob Layanan>. Terakhir, pilih nama kontainer.
Untuk memeriksa Azure Storage di Visual Studio, pilih Tampilkan>Cloud Explorer. Jika Anda tidak memiliki perintah menu tersebut, Anda perlu menginstal Azure SDK. Buka dialog Proyek Baru, perluas Visual C#/Cloud, dan pilih Dapatkan Microsoft Azure SDK untuk .NET.
Ketika membuka penyimpanan blob, Anda akan melihat kontainer dengan kumpulan file blob. Anda akan melihat URI setiap file yang berasal dari nama sumber daya Application Insights, kunci instrumentasinya, dan jenis telemetri, tanggal, dan waktu. Nama sumber daya semuanya huruf kecil, dan kunci instrumentasi menghilangkan tanda hubung.
Catatan
Pada tanggal 31 Maret 2025, dukungan untuk penyerapan kunci instrumentasi akan berakhir. Penyerapan kunci instrumentasi akan berjalan terus, namun kami tidak akan lagi menyediakan pembaruan atau dukungan terhadap fitur tersebut. Transisi ke string koneksi untuk memanfaatkan kemampuan baru.
Tanggal dan waktu adalah UTC dan ketika telemetri disimpan di toko, bukan waktu yang dihasilkan. Untuk alasan ini, jika Anda menulis kode untuk mengunduh data, kode tersebut dapat berpindah secara linier melalui data.
Berikut bentuk jalur tersebut:
$"{applicationName}_{instrumentationKey}/{type}/{blobDeliveryTimeUtc:yyyy-MM-dd}/{ blobDeliveryTimeUtc:HH}/{blobId}_{blobCreationTimeUtc:yyyyMMdd_HHmmss}.blob"
Mana:
blobCreationTimeUtc
adalah waktu ketika blob dibuat di penyimpanan penahapan internal.blobDeliveryTimeUtc
adalah waktu ketika blob disalin ke penyimpanan tujuan ekspor.
Format data
Data diformat sehingga:
Setiap blob adalah file teks yang berisi beberapa
\n
baris yang dipisahkan. File teks berisi telemetri yang diproses selama periode waktu sekitar setengah menit.Setiap baris mewakili titik data telemetri, seperti permintaan atau tampilan halaman.
Setiap baris adalah dokumen JSON yang tidak diformat. Jika Anda ingin melihat baris, buka blob di Visual Studio dan pilih Edit>File Format Tingkat Lanjut.>
Durasi waktu berada dalam format tick, di mana 10.000 tick = 1 ms. Contohnya, nilai-nilai ini menunjukkan waktu 1 ms untuk mengirimkan permintaan dari browser, 3 ms untuk menerimanya, dan 1,8 ms untuk memproses halaman di browser:
"sendRequest": {"value": 10000.0},
"receiveRequest": {"value": 30000.0},
"clientProcess": {"value": 17970000.0}
Untuk referensi model data terperinci untuk jenis dan nilai properti, lihat Model data ekspor Application Insights.
Memproses data
Dalam skala kecil, Anda dapat menulis beberapa kode untuk memisahkan data Anda dan membacanya ke spreadsheet. Contohnya:
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);
}
}
}
}
Untuk sampel kode yang lebih besar, lihat Menggunakan peran pekerja.
Menghapus data lama Anda
Anda bertanggung jawab untuk mengelola kapasitas penyimpanan Anda dan menghapus data lama, jika perlu.
Meregenerasi kunci penyimpanan Anda
Jika Anda mengubah kunci penyimpanan, ekspor berkelanjutan akan berhenti berfungsi. Anda akan melihat pemberitahuan di akun Azure.
Pilih tab Ekspor Berkelanjutan dan edit ekspor Anda. Edit nilai Ekspor Tujuan, tetapi biarkan penyimpanan yang sama dipilih. Pilih OK untuk mengonfirmasi.
Ekspor berkelanjutan akan dimulai ulang.
Mengekspor sampel
Untuk sampel ekspor, lihat:
Pada skala yang lebih besar, pertimbangkan kluster HDInsight Hadoop di cloud. HDInsight menyediakan berbagai macam teknologi untuk mengelola dan menganalisis data besar. Anda dapat menggunakannya untuk memproses data yang telah diekspor dari Application Insights.
Tanya jawab umum
Bagian ini menyediakan jawaban atas pertanyaan umum.
Bisakah saya mendapatkan unduhan satu kali bagan?
Kau bisa lakukan itu. Pada bagian atas tab, pilih Ekspor Data.
Saya menyiapkan ekspor, tetapi mengapa tidak ada data di penyimpanan saya?
Apakah Application Insights menerima telemetri apa pun dari aplikasi Anda sejak Anda menyiapkan ekspor? Anda hanya akan menerima data baru.
Saya mencoba menyiapkan ekspor, tetapi mengapa saya ditolak aksesnya?
Jika akun dimiliki oleh organisasi Anda, Anda harus menjadi anggota grup Pemilik atau Kontributor.
Apakah saya dapat mengekspor langsung ke penyimpanan lokal saya?
Tidak. Mesin ekspor kami saat ini hanya berfungsi dengan Azure Storage saat ini.
Apakah ada batasan jumlah data yang Anda masukkan ke dalam toko saya?
Tidak. Kami akan terus mendorong data hingga Anda menghapus ekspor. Kita akan berhenti jika mencapai batas luar untuk Blob Storage, tetapi batas itu sangat besar. Tergantung pada Anda untuk mengontrol seberapa banyak penyimpanan yang Anda gunakan.
Berapa banyak blob yang seharusnya saya lihat di penyimpanan?
- Untuk setiap jenis data yang Anda pilih untuk diekspor, blob baru dibuat setiap menit, jika data tersedia.
- Untuk aplikasi dengan lalu lintas tinggi, unit partisi tambahan dialokasikan. Dalam hal ini, setiap unit membuat blob setiap menitnya.
Saya meregenerasi kunci ke penyimpanan saya, atau mengubah nama kontainer, tetapi mengapa ekspor tidak berfungsi?
Edit ekspor dan pilih tab Ekspor tujuan . Biarkan penyimpanan yang sama dipilih seperti sebelumnya, dan pilih OK untuk mengonfirmasi. Ekspor akan dimulai ulang. Jika perubahan tersebut terjadi dalam beberapa hari terakhir, Anda tidak akan kehilangan data.
Apakah saya dapat menjeda ekspor?
Ya. Pilih Nonaktifkan.
Sampel kode
- Sampel Azure Stream Analytics
- Ekspor ke SQL dengan menggunakan Azure Stream Analytics
- Referensi model data terperinci untuk jenis dan nilai properti
Ekspor berbasis pengaturan diagnostik
Ekspor pengaturan diagnostik lebih disukai karena menyediakan fitur tambahan:
- Akun Azure Storage dengan jaringan virtual, firewall, dan tautan privat.
- Ekspor ke Azure Event Hubs.
Ekspor pengaturan diagnostik lebih lanjut berbeda dari ekspor berkelanjutan dengan cara berikut:
- Skema yang diperbarui.
- Data telemetri dikirim saat tiba, bukan di unggahan batch.
Penting
Biaya tambahan mungkin dikeluarkan karena peningkatan panggilan ke tujuan, seperti akun penyimpanan.
Cara bermigrasi ke ekspor pengaturan diagnostik:
- Aktifkan Pengaturan Diagnostik pada Application Insights Klasik.
- Mengonfigurasi ekspor data Anda: Pilih Pengaturan>diagnostik Tambahkan pengaturan diagnostik dari dalam sumber daya Application Insights Anda.
- Pastikan ekspor data baru Anda dikonfigurasi sama dengan Ekspor Berkelanjutan Anda
Perhatian
Jika Anda ingin menyimpan log diagnostik di ruang kerja Analitik Log, ada dua poin yang perlu dipertimbangkan untuk menghindari melihat data duplikat di Application Insights:
- Tujuan tidak boleh berupa ruang kerja Analitik Log yang sama dengan ruang kerja yang menjadi dasar sumber daya Application Insights Anda.
- Pengguna Application Insights tidak memiliki akses ke kedua ruang kerja. Atur mode kontrol akses Analitik Log ke Memerlukan izin ruang kerja. Melalui kontrol akses berbasis peran Azure, pastikan pengguna hanya memiliki akses ke ruang kerja Analitik Log yang didasarkan pada sumber daya Application Insights.
Langkah ini diperlukan karena Application Insights mengakses telemetri di seluruh sumber daya Application Insight, termasuk ruang kerja Analitik Log, untuk menyediakan operasi transaksi end-to-end yang lengkap dan peta aplikasi yang akurat. Karena log diagnostik menggunakan nama tabel yang sama, telemetri duplikat dapat ditampilkan jika pengguna memiliki akses ke banyak sumber daya yang berisi data yang sama.
Model Data Ekspor Application Insights
Tabel ini mencantumkan properti telemetri yang dikirim dari SDK Application Insights ke portal. Anda akan melihat properti ini dalam output data dari Ekspor Berkelanjutan. Properti tersebut juga muncul dalam filter properti pada Metric Explorer dan Diagnostic Search.
Poin yang perlu diperhatikan:
[0]
dalam tabel ini menunjukkan titik di jalur tempat Anda harus menyisipkan indeks; tapi tidak selalu 0.- Durasi waktu dalam sepersepuluh mikrodetik, sehingga 10000000 == 1 detik.
- Tanggal dan waktu adalah UTC, dan diberikan dalam format ISO
yyyy-MM-DDThh:mm:ss.sssZ
Contoh
// 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
}
}
}
Konteks
Semua jenis telemetri disertai dengan bagian konteks. Tidak semua bidang ini dikirimkan dengan setiap titik data.
Jalur | Jenis | Catatan |
---|---|---|
context.custom.dimensions [0] | object [ ] | Pasangan string nilai kunci yang diatur oleh parameter properti kustom. Panjang maksimum kunci 100, panjang maksimum nilai 1024. Dengan lebih dari 100 nilai unik, properti dapat dicari, tetapi tidak dapat digunakan untuk segmentasi. Maksimum 200 kunci per ikey. |
context.custom.metrics [0] | object [ ] | Pasangan nilai kunci diatur oleh parameter pengukuran kustom dan oleh TrackMetrics. Panjang maksimum kunci 100, nilai dapat berupa numerik. |
context.data.eventTime | string | UTC |
context.data.isSynthetic | Boolean | Permintaan tampaknya berasal dari uji bot atau web. |
context.data.samplingRate | number | Persentase telemetri yang dihasilkan oleh SDK yang dikirim ke portal. Rentang 0,0-100,0. |
context.device | object | Perangkat klien |
context.device.browser | string | IE, Chrome, ... |
context.device.browserVersion | string | Chrome 48.0, ... |
context.device.deviceModel | string | |
context.device.deviceName | string | |
context.device.id | string | |
context.device.locale | string | en-GB, de-DE, ... |
context.device.network | string | |
context.device.oemName | string | |
context.device.os | string | |
context.device.osVersion | string | OS Host |
context.device.roleInstance | string | ID host server |
context.device.roleName | string | |
context.device.screenResolution | string | |
context.device.type | string | PC, Browser, ... |
context.location | object | Berasal dari clientip . |
context.location.city | string | Berasal dari clientip , jika diketahui |
context.location.clientip | string | Oktagon terakhir dianonimkan ke 0. |
context.location.continent | string | |
context.location.country | string | |
context.location.province | string | Negara bagian atau provinsi |
context.operation.id | string | Item yang memiliki operation id yang sama ditampilkan sebagai Item Terkait di portal. Biasanya request id . |
context.operation.name | string | url atau nama permintaan |
context.operation.parentId | string | Mengizinkan item terkait berlapis. |
context.session.id | string | Id grup operasi dari sumber yang sama. Periode 30 menit tanpa operasi menandakan akhir sesi. |
context.session.isFirst | Boolean | |
context.user.accountAcquisitionDate | string | |
context.user.accountId | string | |
context.user.anonAcquisitionDate | string | |
context.user.anonId | string | |
context.user.authAcquisitionDate | string | Pengguna Terautentikasi |
context.user.authId | string | |
context.user.isAuthenticated | Boolean | |
context.user.storeRegion | string | |
internal.data.documentVersion | string | |
internal.data.id | string | Unique id yang ditetapkan saat item dimasukkan ke Application Insights |
Acara
Peristiwa kustom yang dihasilkan oleh TrackEvent().
Jalur | Jenis | Catatan |
---|---|---|
event [0] count | Integer | 100/(laju pengambilan sampel). Misalnya 4 => 25%. |
event [0] name | string | Nama peristiwa. Panjang maksimum: 250. |
event [0] url | string | |
event [0] urlData.base | string | |
event [0] urlData.host | string |
Pengecualian
Melaporkan pengecualian di server dan di browser.
Jalur | Jenis | Catatan |
---|---|---|
basicException [0] assembly | string | |
basicException [0] count | Integer | 100/(laju pengambilan sampel). Misalnya 4 => 25%. |
basicException [0] exceptionGroup | string | |
basicException [0] exceptionType | string | |
basicException [0] failedUserCodeMethod | string | |
basicException [0] failedUserCodeAssembly | string | |
basicException [0] handledAt | string | |
basicException [0] hasFullStack | Boolean | |
basicException [0] id |
string | |
basicException [0] method | string | |
basicException [0] message | string | Pesan pengecualian. Panjang maksimum 10k. |
basicException [0] outerExceptionMessage | string | |
basicException [0] outerExceptionThrownAtAssembly | string | |
basicException [0] outerExceptionThrownAtMethod | string | |
basicException [0] outerExceptionType | string | |
basicException [0] outerId | string | |
basicException [0] parsedStack [0] assembly | string | |
basicException [0] parsedStack [0] fileName | string | |
basicException [0] parsedStack [0] level | Integer | |
basicException [0] parsedStack [0] line | Integer | |
basicException [0] parsedStack [0] method | string | |
basicException [0] stack | string | Panjang maksimum 10k |
basicException [0] typeName | string |
Melacak Pesan
Dikirim oleh TrackTrace, dan oleh adapter pengelogan.
Jalur | Jenis | Catatan |
---|---|---|
message [0] loggerName | string | |
message [0] parameters | string | |
message [0] raw | string | Pesan log, panjang maksimum 10k. |
message [0] severityLevel | string |
Dependensi jarak jauh
Dikirim oleh TrackDependency. Digunakan untuk melaporkan kinerja dan penggunaan panggilan ke dependensi di server, dan panggilan AJAX di browser.
Jalur | Jenis | Catatan |
---|---|---|
remoteDependency [0] async | Boolean | |
remoteDependency [0] baseName | string | |
remoteDependency [0] commandName | string | Misalnya "home/index" |
remoteDependency [0] count | Integer | 100/(laju pengambilan sampel). Misalnya 4 => 25%. |
remoteDependency [0] dependencyTypeName | string | HTTP, SQL, ... |
remoteDependency [0] durationMetric.value | number | Waktu dari panggilan dimulai hingga penyelesaian respons berdasarkan dependensi |
remoteDependency [0] id |
string | |
remoteDependency [0] name | string | Url. Panjang maksimum: 250. |
remoteDependency [0] resultCode | string | dari dependensi HTTP |
remoteDependency [0] success | Boolean | |
remoteDependency [0] type | string | Http, Sql,... |
remoteDependency [0] url | string | Panjang maksimum 2000 |
remoteDependency [0] urlData.base | string | Panjang maksimum 2000 |
remoteDependency [0] urlData.hashTag | string | |
remoteDependency [0] urlData.host | string | Panjang maksimum 200 |
Permintaan
Dikirim oleh TrackRequest. Modul standar menggunakan ini untuk melaporkan waktu respons server, diukur di server.
Jalur | Jenis | Catatan |
---|---|---|
request [0] count | Integer | 100/(laju pengambilan sampel). Misalnya: 4 => 25%. |
request [0] durationMetric.value | number | Waktu dari permintaan tiba hingga merespons. 1e7 == 1s |
request [0] id |
string | Operation id |
request [0] name | string | GET/POST + url base. Panjang maksimum 250 |
request [0] responseCode | Integer | Respons HTTP yang dikirim ke klien |
request [0] success | Boolean | Default == (responseCode < 400) |
request [0] url | string | Tidak termasuk host |
request [0] urlData.base | string | |
request [0] urlData.hashTag | string | |
request [0] urlData.host | string |
Kinerja Tampilan Halaman
Dikirim oleh browser. Mengukur waktu untuk memproses halaman, dari pengguna yang memulai permintaan hingga tampilan selesai (tidak termasuk panggilan AJAX asinkron).
Nilai konteks yang menampilkan OS dan versi browser klien.
Jalur | Jenis | Catatan |
---|---|---|
clientPerformance [0] clientProcess.value | Integer | Waktu dari akhir penerimaan HTML hingga menampilkan halaman. |
clientPerformance [0] name | string | |
clientPerformance [0] networkConnection.value | Integer | Waktu yang diambil untuk membuat koneksi jaringan. |
clientPerformance [0] receiveRequest.value | Integer | Waktu dari akhir pengiriman permintaan hingga penerimaan HTML sebagai balasan. |
clientPerformance [0] sendRequest.value | Integer | Waktu dari pengambilan hingga pengiriman permintaan HTTP. |
clientPerformance [0] total.value | Integer | Waktu dari mulai mengirim permintaan hingga menampilkan halaman. |
clientPerformance [0] url | string | URL permintaan ini |
clientPerformance [0] urlData.base | string | |
clientPerformance [0] urlData.hashTag | string | |
clientPerformance [0] urlData.host | string | |
clientPerformance [0] urlData.protocol | string |
Tampilan Halaman
Dikirim oleh trackPageView() atau stopTrackPage
Jalur | Jenis | Catatan |
---|---|---|
view [0] count | Integer | 100/(laju pengambilan sampel). Misalnya 4 => 25%. |
view [0] durationMetric.value | Integer | Nilai yang diatur secara opsional dalam trackPageView() atau oleh startTrackPage() - stopTrackPage(). Tidak sama dengan nilai clientPerformance. |
view [0] name | string | Judul halaman. Panjang maksimum 250 |
view [0] url | string | |
view [0] urlData.base | string | |
view [0] urlData.hashTag | string | |
view [0] urlData.host | string |
Ketersediaan
Melaporkan uji web ketersediaan.
Jalur | Jenis | Catatan |
---|---|---|
availability [0] availabilityMetric.name | string | ketersediaan |
availability [0] availabilityMetric.value | number | 1.0 atau 0.0 |
availability [0] count | Integer | 100/(laju pengambilan sampel). Misalnya 4 => 25%. |
availability [0] dataSizeMetric.name | string | |
availability [0] dataSizeMetric.value | Integer | |
availability [0] durationMetric.name | string | |
availability [0] durationMetric.value | number | Durasi pengujian. 1e7==1s |
availability [0] message | string | Diagnostik kegagalan |
availability [0] result | string | Lolos/Gagal |
availability [0] runLocation | string | sumber geo dari http req |
availability [0] testName | string | |
availability [0] testRunId | string | |
availability [0] testTimestamp | string |
Metrik
Dihasilkan oleh TrackMetric().
Nilai metrik ditemukan dalam context.custom.metrics[0]
Contohnya:
{
"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
}
}
]
}
}
}
Tentang nilai metrik
Nilai metrik, baik dalam laporan metrik maupun di tempat lain, dilaporkan dengan struktur objek standar. Contohnya:
"durationMetric": {
"name": "contoso.org",
"type": "Aggregation",
"value": 468.71603053650279,
"count": 1.0,
"min": 468.71603053650279,
"max": 468.71603053650279,
"stdDev": 0.0,
"sampledValue": 468.71603053650279
}
Saat ini - meskipun dapat berubah di masa depan - di semua nilai yang dilaporkan dari modul SDK standar, count==1
dan hanya bidang name
dan value
yang berguna. Satu-satunya kasus di mana nilai akan berbeda adalah jika Anda menulis panggilan TrackMetric Anda sendiri di mana Anda mengatur parameter lain.
Tujuan bidang lainnya adalah untuk memungkinkan metrik dikumpulkan dalam SDK untuk mengurangi lalu lintas ke portal. Contohnya, Anda dapat menentukan rata-rata beberapa bacaan berturut-turut sebelum mengirim setiap laporan metrik. Kemudian Anda akan menghitung min, max, simpangan baku dan nilai agregat (jumlah atau rata-rata) dan mengatur hitungan ke jumlah pembacaan yang diwakili oleh laporan.
Dalam tabel di atas, kami telah menghilangkan jumlah bidang, min, max, stdDev, dan sampledValue yang jarang digunakan.
Alih-alih mengagregasi metrik di awal, Anda dapat menggunakan pengambilan sampel jika diperlukan pengurangan volume telemetri.
Durasi
Kecuali jika dinyatakan sebaliknya, durasi diwakili dalam sepersepuluh mikrodetik, sehingga 10000000.0 berarti 1 detik.