Ekspor 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

Sebelum Anda menyiapkan ekspor berkelanjutan, terdapat beberapa alternatif yang mungkin ingin Anda pertimbangkan:

Setelah ekspor berkelanjutan menyalin data Anda ke penyimpanan, di mana data tersebut dapat tetap berada 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
  • AS Barat
  • US 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 AS Timur dan Eropa Barat jika ekspor dikonfigurasi sebelum 23 Februari 2021. Aturan ekspor berkelanjutan baru tidak dapat dikonfigurasi pada aplikasi apa pun di AS Timur atau Eropa Barat, tidak peduli kapan aplikasi dibuat.

Konfigurasi penyimpanan lanjutan ekspor berkelanjutan

Ekspor berkelanjutan tidak mendukung fitur atau konfigurasi Azure Storage berikut:

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.

  1. Di sumber daya Application Insights untuk aplikasi Anda di bawah Konfigurasikan di sebelah kiri, buka Ekspor berkelanjutan dan pilih Tambahkan.

  2. Pilih jenis data telemetri yang ingin Anda ekspor.

  3. Buat atau pilih akun Azure Storage tempat Anda ingin menyimpan data. Untuk informasi selengkapnya tentang opsi harga penyimpanan, lihat halaman Harga.

    Pilih Tambahkan>akun Penyimpanantujuan> 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 Anda menyimpan di wilayah lain, Anda mungkin dikenakan biaya transfer.

  4. 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 dikatakan layanan Azure, pilih Akun penyimpanan. Pilih nama akun penyimpanan, dan pada halaman Gambaran Umum pilihBlobLayanan>. 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 dari 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.

Cuplikan layar yang menunjukkan pemeriksaan penyimpanan blob dengan alat yang sesuai.

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 bergerak secara linear melalui data.

Berikut bentuk jalur tersebut:

$"{applicationName}_{instrumentationKey}/{type}/{blobDeliveryTimeUtc:yyyy-MM-dd}/{ blobDeliveryTimeUtc:HH}/{blobId}_{blobCreationTimeUtc:yyyyMMdd_HHmmss}.blob"

Di 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 \nbaris 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 FormatTingkat Lanjut>.

    Cuplikan layar yang memperlihatkan menampilkan telemetri dengan alat yang sesuai

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 dalam 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 nilaiTujuan Ekspor , 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?

Nomor. Mesin ekspor kami saat ini hanya berfungsi dengan Azure Storage saat ini.

Apakah ada batasan jumlah data yang Anda masukkan ke dalam toko saya?

Nomor. 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

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 timbul karena peningkatan panggilan ke tujuan, seperti akun penyimpanan.

Cara bermigrasi ke ekspor pengaturan diagnostik:

  1. Aktifkan Pengaturan Diagnostik pada Application Insights Klasik.
  2. Mengonfigurasi ekspor data Anda: Pilih Pengaturan >diagnostikTambahkan pengaturan diagnostik dari dalam sumber daya Application Insights Anda.
  3. Verifikasi bahwa ekspor data baru Anda dikonfigurasi sama dengan Ekspor Berkelanjutan Anda

Perhatian

Jika Anda ingin menyimpan log diagnostik di ruang kerja Log Analytics, 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 objek 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 objek 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.

Lihat juga