Bagikan melalui


Konfigurasi SDK JavaScript Microsoft Azure Monitor Application Insights

Azure Application Insights JavaScript SDK menyediakan konfigurasi untuk melacak, memantau, dan men-debug aplikasi web Anda.

Konfigurasi SDK

Bidang konfigurasi ini bersifat opsional dan default ke false kecuali dinyatakan lain.

Untuk petunjuk tentang cara menambahkan konfigurasi SDK, lihat Menambahkan konfigurasi SDK.

Nama Tipe Default
accountId

ID akun opsional, jika aplikasi Anda mengkelompokkan pengguna ke akun. Tidak ada spasi, koma, titik koma, sama dengan, atau bilah vertikal
string nihil
addRequestContext

Berikan cara untuk memperkaya log dependensi dengan konteks di awal panggilan api. Defaultnya tidak ditentukan. Anda perlu memeriksa apakah xhr ada jika Anda mengonfigurasi xhr konteks terkait. Anda perlu memeriksa apakah fetch request dan fetch response ada jika Anda mengonfigurasi fetch konteks terkait. Jika tidak, Anda mungkin tidak mendapatkan data yang Anda butuhkan.
(requestContext: IRequestionContext) => {[key: string]: any} tidak ditentukan
ajaxPerfLookupDelay

Default ke 25 mdtk. Jumlah waktu untuk menunggu sebelum memasang ulang untuk menemukan waktu windows.performance untuk permintaan Ajax, waktu dalam milidetik dan diteruskan langsung ke setTimeout().
numeric 25
appId

AppId digunakan untuk korelasi antara dependensi AJAX yang terjadi di sisi klien dengan permintaan sisi server. Ketika Beacon API diaktifkan, beacon API tidak dapat digunakan secara otomatis, tetapi dapat diatur secara manual dalam konfigurasi. Defaultnya adalah null
string nihil
autoTrackPageVisitTime

Jika true, pada tampilan halaman, waktu tampilan halaman berinstrumen previous dilacak dan dikirim sebagai telemetri dan timer baru dimulai untuk tampilan halaman saat ini. Ini dikirim sebagai metrik khusus bernama PageVisitTime di milliseconds dan dihitung melalui fungsi Tanggal sekarang() (jika tersedia) dan kembali ke (Tanggal baru()).getTime( ) jika sekarang() tidak tersedia (IE8 atau kurang). Defaultnya adalah false.
Boolean salah
convertUndefined

Berikan opsi kepada pengguna untuk mengonversi bidang yang tidak terdefinisi ke nilai yang ditentukan pengguna.
any tidak ditentukan
cookieCfg

Default ke penggunaan cookie diaktifkan lihat pengaturan ICookieCfgConfig untuk default penuh.
ICookieCfgConfig
[Opsional]
(Sejak 2.6.0)
tidak ditentukan
cookieDomain

Domain cookie kustom. Sangat membantu jika Anda ingin berbagi cookie Application Insights di seluruh subdomain.
(Sejak v2.6.0) Jika cookieCfg.domain didefinisikan, itu lebih diutamakan daripada nilai ini.
alias untuk cookieCfg.domain
[Opsional]
nihil
cookiePath

Jalur cookie kustom. Sangat membantu jika Anda ingin berbagi cookie Application Insights di belakang gateway aplikasi.
Jika cookieCfg.path didefinisikan, itu lebih diutamakan.
alias untuk cookieCfg.path
[Opsional]
(Sejak 2.6.0)
nihil
korelasiHeaderDomains

Mengaktifkan header korelasi untuk domain tertentu
string[] tidak ditentukan
correlationHeaderExcludedDomains

Menonaktifkan header korelasi untuk domain tertentu
string[] tidak ditentukan
correlationHeaderExcludePatterns

Menonaktifkan header korelasi menggunakan ekspresi reguler
regex[] tidak ditentukan
createPerfMgr

Fungsi panggilan balik yang akan dipanggil untuk membuat instans IPerfManager saat diperlukan dan enablePerfMgr diaktifkan, memungkinkan Anda untuk mengambil alih pembuatan default PerfManager() tanpa perlu setPerfMgr() setelah inisialisasi.
(core: IAppInsightsCore, notificationManager: INotificationManager) => IPerfManager tidak ditentukan
customHeaders

Kemampuan pengguna untuk menyediakan header tambahan saat menggunakan titik akhir kustom. customHeaders tidak ditambahkan pada saat penonaktifan browser saat pengirim suar digunakan. Dan menambahkan header kustom tidak didukung di IE9 atau yang lebih lama.
[{header: string, value: string}] tidak ditentukan
diagnosticLogInterval

(internal) Interval polling (dalam md) untuk antrean pencatatan log internal
numeric 10000
disableAjaxTracking

Jika benar, panggilan Ajax tidak dikumpulkan secara otomatis. Defaultnya adalah false.
Boolean salah
disableCookiesUsage

Default false. Boolean yang menunjukkan apakah akan menonaktifkan penggunaan cookie oleh SDK. Jika true, SDK tidak menyimpan atau membaca data apa pun dari cookie.
(Sejak v2.6.0) Jika cookieCfg.enabled didefinisikan, itu lebih diutamakan. Penggunaan cookie dapat diaktifkan kembali setelah inisialisasi melalui core.getCookieMgr().setEnabled(true).
alias untuk cookieCfg.enabled
[Opsional]
salah
disableCorrelationHeaders

Jika false, SDK menambahkan dua header ('Request-Id' dan 'Request-Context') ke semua permintaan dependensi untuk menghubungkannya dengan permintaan yang sesuai di sisi server. Defaultnya adalah false.
Boolean salah
disableDataLossAnalysis

Jika false, buffer pengirim telemetri internal diperiksa saat startup untuk item yang belum dikirim.
Boolean benar
disableExceptionTracking

Jika benar, pengecualian tidak dikumpulkan secara otomatis. Defaultnya adalah false.
Boolean salah
disableFetchTracking

Pengaturan default untuk disableFetchTracking adalah false, yang berarti diaktifkan. Namun, dalam versi sebelum 2.8.10, versi tersebut dinonaktifkan secara default. Saat diatur ke true, Ambil permintaan tidak dikumpulkan secara otomatis. Pengaturan default berubah dari true ke false di versi 2.8.0.
Boolean salah
disableFlushOnBeforeUnload

Default false. Jika true, metode flush tidak dipanggil saat peristiwa onBeforeUnload memicu
Boolean salah
disableIkeyDeprecationMessage

Nonaktifkan pesan kesalahan penghentian kunci instrumentasi. Jika true, pesan kesalahan TIDAK dikirim.
Boolean benar
disableInstrumentationKeyValidation

Jika true, pemeriksaan validasi kunci instrumentasi dilewati. Nilai defaultnya adalah false.
Boolean salah
disableTelemetry

Jika benar, telemetri tidak dikumpulkan atau dikirim. Defaultnya adalah false.
Boolean salah
disableXhr

Jangan gunakan XMLHttpRequest atau XDomainRequest (untuk Internet Explorer < versi 9) secara default, sebagai gantinya, coba gunakan fetch() atau sendBeacon. Jika tidak ada transportasi lain yang tersedia, itu menggunakan XMLHttpRequest
Boolean salah
distributedTracingMode

Mengatur mode pelacakan terdistribusi. Jika mode AI_AND_W3C atau mode W3C diatur, header konteks jejak W3C (traceparent/tracestate) dihasilkan dan disertakan dalam semua permintaan keluar. AI_AND_W3C disediakan untuk kompatibilitas kembali dengan semua layanan berinstrumen Application Insights warisan.
numerik atau DistributedTracingModes DistributedTracing Modes.AI_AND_W3C
enableAjaxErrorStatusText

Default false. Jika true, sertakan boolean teks data kesalahan respons dalam peristiwa dependensi pada permintaan AJAX yang gagal.
Boolean salah
enableAjaxPerfTracking

Default false. Bendera untuk mengaktifkan mencari dan menyertakan pengaturan waktu window.performance browser tambahan dalam metrik yang dilaporkan Ajax (XHR dan ambil).
Boolean salah
enableAutoRouteTracking

Melacak perubahan rute secara otomatis dalam Aplikasi Halaman Tunggal (SPA). Jika true, setiap perubahan rute mengirimkan Pageview baru ke Application Insights. Perubahan rute hash (example.com/foo#bar) juga dicatat sebagai tampilan halaman baru.
Catatan: Jika Anda mengaktifkan bidang ini, jangan aktifkan history objek untuk konfigurasi router React karena Anda akan mendapatkan beberapa peristiwa tampilan halaman.
Boolean salah
enableCorsCorrelation

Jika true, SDK menambahkan dua header ('Request-Id' dan 'Request-Context') ke semua permintaan CORS untuk menghubungkan dependensi AJAX keluar dengan permintaan yang sesuai di sisi server. Defaultnya adalah salah
Boolean salah
enableDebug

Jika true, data penelusuran kesalahan internal ditampilkan sebagai pengecualian alih-alih dicatat, terlepas dari pengaturan pembuatan log SDK. Defaultnya adalah false.
Catatan: Mengaktifkan pengaturan ini menghasilkan telemetri yang dihilangkan setiap kali terjadi kesalahan internal. Ini dapat berguna untuk mengidentifikasi masalah dengan cepat dengan konfigurasi atau penggunaan SDK Anda. Jika Anda tidak ingin kehilangan telemetri saat men-debug, pertimbangkan untuk menggunakan loggingLevelConsole atau loggingLevelTelemetry daripada enableDebug.
Boolean salah
enablePerfMgr

Ketika diaktifkan (benar) itu membuat perfEvents lokal untuk kode yang telah diinstrumentasikan untuk memancarkan perfEvents (melalui pembantu doPerf(). Ini dapat digunakan untuk mengidentifikasi masalah performa dalam SDK berdasarkan penggunaan Anda atau secara opsional dalam kode berinstrumen Anda sendiri.
Boolean salah
enableRequestHeaderTracking

Jika true, header permintaan AJAX & Fetch dilacak, defaultnya adalah false. Jika ignoreHeaders tidak dikonfigurasi, header Otorisasi dan X-API-Key tidak dicatat.
Boolean salah
enableResponseHeaderTracking

Jika true, header respons permintaan AJAX & Fetch dilacak, defaultnya adalah false. Jika ignoreHeaders tidak dikonfigurasi, header WWW-Authenticate tidak dicatat.
Boolean salah
enableSessionStorageBuffer

Default benar. Jika true, buffer dengan semua telemetri tidak dikirim disimpan dalam penyimpanan sesi. Buffer dipulihkan pada pemuatan halaman
Boolean benar
enableUnhandledPromiseRejectionTracking

Jika true, penolakan janji yang tidak tertangani dipilih secara otomatis sebagai kesalahan JavaScript. Saat disableExceptionTracking benar (jangan lacak pengecualian), nilai konfigurasi diabaikan dan penolakan janji yang tidak tertangani tidak dilaporkan.
Boolean salah
eventsLimitInMem

Jumlah peristiwa yang dapat disimpan dalam memori sebelum SDK mulai menghilangkan peristiwa saat tidak menggunakan Penyimpanan Sesi (default).
number 10000
excludeRequestFromAutoTrackingPatterns

Berikan cara untuk mengecualikan rute tertentu dari pelacakan otomatis untuk permintaan XMLHttpRequest atau Fetch. Jika ditentukan, untuk permintaan Ajax / ambil yang cocok dengan url permintaan dengan pola regex, pelacakan otomatis dinonaktifkan. Defaultnya tidak ditentukan.
string[] | RegExp[] tidak ditentukan
featureOptIn

Atur Detail keikutsertaan Fitur.

Bidang konfigurasi ini hanya tersedia di versi 3.0.3 dan yang lebih baru.
IFeatureOptIn tidak ditentukan
idLength

Mengidentifikasi panjang default yang digunakan untuk menghasilkan sesi acak baru dan ID pengguna. Default ke 22, nilai default sebelumnya adalah 5 (v2.5.8 atau kurang), jika Anda perlu mempertahankan panjang maksimum sebelumnya, Anda harus mengatur nilai ke 5.
numeric 22
ignoreHeaders

AJAX & Ambil header permintaan dan respons untuk diabaikan dalam data log. Untuk mengambil alih atau membuang default, tambahkan array dengan semua header yang akan dikecualikan atau array kosong ke konfigurasi.
string[] ["Otorisasi", "X-API-Key", "WWW-Authenticate"]
isBeaconApiDisabled

Jika false, SDK mengirimkan semua telemetri menggunakan Beacon API
Boolean benar
isBrowserLinkTrackingEnabled

Defaultnya adalah false. Jika true, SDK melacak semua permintaan Tautan Browser.
Boolean salah
IsRetryDisabled

Default false. Jika false, coba lagi pada 206 (keberhasilan parsial), 408 (waktu habis), 429 (terlalu banyak permintaan), 500 (kesalahan server internal), 503 (layanan tidak tersedia), dan 0 (offline, hanya jika terdeteksi)
Boolean salah
isStorageUseDisabled

Jika true, SDK tidak menyimpan atau membaca data apa pun dari penyimpanan lokal dan sesi. Defaultnya adalah false.
Boolean salah
loggingLevelConsole

Mencatat kesalahan Application Insights internal ke konsol.
0: off,
1: Hanya kesalahan kritis,
2: Semuanya (kesalahan & peringatan)
numeric 0
loggingLevelTelemetry

Mengirim kesalahan Application Insights internal sebagai telemetri.
0: off,
1: Hanya kesalahan kritis,
2: Semuanya (kesalahan & peringatan)
numeric 1
maxAjaxCallsPerView

Default 500 - mengontrol berapa banyak panggilan Ajax yang dipantau per tampilan halaman. Atur ke -1 untuk memantau semua (tidak terbatas) panggilan Ajax di halaman.
numeric 500
maxAjaxPerfLookupAttempts

Default ke 3. Jumlah maksimum waktu untuk mencari pengaturan waktu window.performance (jika tersedia) diperlukan. Tidak semua browser mengisi window.performance sebelum melaporkan akhir permintaan XHR. Untuk mengambil permintaan, permintaan ditambahkan setelah selesai.
numeric 3
maxBatchInterval

Interval batch telemetri sebelum dikirim (milidetik)
numeric 15000
maxBatchSizeInBytes

Ukuran maksimum batch telemetri. Jika batch melebihi batas ini, itu segera dikirim dan batch baru dimulai
numeric 10000
namePrefix

Nilai opsional yang digunakan sebagai postfix nama untuk localStorage dan nama cookie sesi.
string tidak ditentukan
onunloadDisableBeacon

Default false. ketika tab ditutup, SDK mengirimkan semua telemetri yang tersisa menggunakan API Beacon
Boolean salah
onunloadDisableFetch

Jika mengambil keepalive didukung tidak menggunakannya untuk mengirim peristiwa selama pembongkaran, mungkin masih jatuh kembali ke fetch() tanpa keepalive
Boolean salah
overridePageViewDuration

Jika true, perilaku default trackPageView diubah ke merekam interval durasi tampilan halaman akhir saat trackPageView dipanggil. Jika false dan tidak ada durasi kustom yang disediakan untuk trackPageView, performa tampilan halaman dihitung menggunakan API pengaturan waktu navigasi. Defaultnya adalah false.
Boolean salah
perfEvtsSendAll

Saat enablePerfMgr diaktifkan dan IPerfManager mengeluarkan INotificationManager.perfEvent() bendera ini menentukan apakah peristiwa dikeluarkan (dan dikirim ke semua pendengar) untuk semua peristiwa (true) atau hanya untuk peristiwa 'induk' (<default> false).
IPerfEvent induk adalah peristiwa di mana tidak ada IPerfEvent lain yang masih berjalan pada titik peristiwa yang dibuat dan properti induknya tidak null atau tidak terdefinisi. Sejak v2.5.7
Boolean salah
samplingPercentage

Persentase peristiwa yang dikirim. Defaultnya adalah 100, yang berarti semua peristiwa dikirim. Atur jika Anda ingin mempertahankan batas data Anda untuk aplikasi skala besar.
numeric 100
sdkExtension

Mengatur nama ekstensi SDK. Hanya karakter alfabet yang diperbolehkan. Nama ekstensi ditambahkan sebagai awalan untuk tag 'ai.internal.sdkVersion' (misalnya, 'ext_javascript:2.0.0'). Defaultnya adalah null.
string nihil
sessionCookiePostfix

Nilai opsional yang digunakan sebagai postfix nama untuk nama cookie sesi. Jika tidak ditentukan, namePrefix digunakan sebagai postfix nama untuk nama cookie sesi.
string tidak ditentukan
sessionExpirationMs

Sesi dicatat jika telah berlanjut selama durasi waktu ini dalam milidetik. Defaultnya adalah 24 jam
numeric 86400000
sessionRenewalMs

Sesi dicatat jika pengguna tidak aktif selama durasi waktu ini dalam milidetik. Defaultnya adalah 30 menit
numeric 1800000
throttleMgrCfg

Atur konfigurasi mgr pembatasan menurut kunci.

Bidang konfigurasi ini hanya tersedia di versi 3.0.3 dan yang lebih baru.
{[key: number]: IThrottleMgrConfig} tidak ditentukan
userCookiePostfix

Nilai opsional yang digunakan sebagai postfix nama untuk nama cookie pengguna. Jika tidak ditentukan, tidak ada postfix yang ditambahkan pada nama cookie pengguna.
string tidak ditentukan

Mulai dari versi 2.6.0, Azure Application Insights JavaScript SDK menyediakan manajemen cookie berbasis instans yang dapat dinonaktifkan dan diaktifkan kembali setelah inisialisasi.

Jika Anda menonaktifkan cookie selama inisialisasi menggunakan disableCookiesUsage konfigurasi atau cookieCfg.enabled , Anda dapat mengaktifkannya kembali menggunakan setEnabled fungsi objek ICookieMgr.

Manajemen cookie berbasis instans menggantikan fungsi global CoreUtils sebelumnya dari disableCookies(), , setCookie()getCookie(), dan deleteCookie().

Untuk memanfaatkan peningkatan yang menggoyahkan pohon yang diperkenalkan dalam versi 2.6.0, disarankan untuk tidak lagi menggunakan fungsi global.

ICookieMgrConfig adalah konfigurasi cookie untuk manajemen cookie berbasis instans yang ditambahkan dalam 2.6.0. Opsi yang disediakan memungkinkan Anda mengaktifkan atau menonaktifkan penggunaan cookie oleh SDK. Anda juga dapat mengatur domain dan jalur cookie kustom dan menyesuaikan fungsi untuk mengambil, mengatur, dan menghapus cookie.

Opsi ICookieMgrConfig ditentukan dalam tabel berikut.

Nama Tipe Default Deskripsi
diaktifkan Boolean benar Instans SDK saat ini menggunakan boolean ini untuk menunjukkan apakah penggunaan cookie diaktifkan. Jika false, instans SDK yang diinisialisasi oleh konfigurasi ini tidak menyimpan atau membaca data apa pun dari cookie.
domain string nihil Domain cookie kustom. Sangat membantu jika Anda ingin berbagi cookie Application Insights di seluruh subdomain. Jika tidak disediakan, gunakan nilai dari nilai cookieDomain akar.
jalan string / Menentukan jalur yang akan digunakan untuk cookie, jika tidak disediakan, jalur tersebut menggunakan nilai apa pun dari nilai akar cookiePath .
ignoreCookies string[] tidak ditentukan Tentukan nama cookie yang akan diabaikan, hal ini menyebabkan nama cookie yang cocok tidak pernah dibaca atau ditulis. Mereka mungkin masih dihapus menyeluruh atau dihapus secara eksplisit. Anda tidak perlu mengulangi nama dalam blockedCookies konfigurasi. (sejak v2.8.8)
blockedCookies string[] tidak ditentukan Tentukan nama cookie yang tidak pernah ditulis. Ini mencegah pembuatan atau pembaruan nama cookie apa pun, tetapi masih dapat dibaca kecuali juga disertakan dalam ignoreCookies. Mereka mungkin masih dihapus menyeluruh atau dihapus secara eksplisit. Jika tidak disediakan, defaultnya ke daftar yang sama di ignoreCookies. (Sejak v2.8.8)
getCookie (name: string) => string nihil Fungsi untuk mengambil nilai cookie bernama, jika tidak disediakan, ia menggunakan penguraian/penembolokan cookie internal.
setCookie (name: string, value: string) => void nihil Berfungsi untuk mengatur cookie bernama dengan nilai yang ditentukan, hanya dipanggil saat menambahkan atau memperbarui cookie.
delCookie (name: string, value: string) => void nihil Berfungsi untuk menghapus cookie bernama dengan nilai yang ditentukan, dipisahkan dari setCookie untuk menghindari kebutuhan mengurai nilai untuk menentukan apakah cookie ditambahkan atau dihapus. Jika tidak disediakan, ia menggunakan penguraian/penembolokan cookie internal.

Peta sumber

Dukungan peta sumber membantu Anda men-debug kode JavaScript yang dikurangi dengan kemampuan untuk menyatukan tumpukan panggilan minifikasi telemetri pengecualian Anda.

  • Kompatibel dengan semua integrasi saat ini pada panel Detail Pengecualian
  • Mendukung semua SDK JavaScript saat ini dan yang akan datang, termasuk Node.JS, tanpa perlu peningkatan SDK

Application Insights mendukung pengunggahan peta sumber ke kontainer blob akun Azure Storage Anda. Anda dapat menggunakan peta sumber untuk menyatukan tumpukan panggilan yang ditemukan di halaman Detail transaksi end-to-end. Anda juga dapat menggunakan peta sumber untuk menghapus pengecualian apa pun yang dikirim oleh JavaScript SDK atau SDK Node.js.

Cuplikan layar yang memperlihatkan pemilihan opsi untuk membatalkan penautan tumpukan panggilan dengan menautkan dengan akun penyimpanan.

Membuat akun penyimpanan dan kontainer blob baru

Jika Anda sudah memiliki akun penyimpanan atau wadah blob, Anda dapat melewati langkah ini.

  1. Buat akun penyimpanan baru.

  2. Membuat kontainer blob di dalam akun penyimpanan Anda. Atur Tingkat akses publik ke Privat untuk memastikan bahwa peta sumber Anda tidak dapat diakses secara publik.

    Cuplikan layar yang memperlihatkan pengaturan tingkat akses kontainer ke Privat.

Dorong peta sumber Anda ke kontainer blob Anda

Integrasikan alur penyebaran berkelanjutan Anda dengan akun penyimpanan Anda dengan mengonfigurasinya untuk mengunggah peta sumber Anda secara otomatis ke kontainer blob yang dikonfigurasi.

Anda dapat mengunggah peta sumber ke kontainer Azure Blob Storage Anda dengan struktur folder yang sama yang dikompilasi dan disebarkan. Kasus penggunaan umum adalah mengawali folder penyebaran dengan versinya, misalnya, 1.2.3/static/js/main.js. Saat Anda membatalkanminasi melalui kontainer blob Azure yang disebut sourcemaps, alur mencoba mengambil peta sumber yang terletak di sourcemaps/1.2.3/static/js/main.js.map.

Jika Anda menggunakan Azure Pipelines untuk terus membangun dan menyebarkan aplikasi Anda, tambahkan tugas penyalinan file Azure ke alur Anda untuk mengunggah peta sumber Anda secara otomatis.

Cuplikan layar yang memperlihatkan penambahan tugas penyalinan file Azure ke alur Anda untuk mengunggah peta sumber Anda ke Azure Blob Storage.

Mengonfigurasi sumber daya Application Insights Anda dengan akun penyimpanan peta sumber

Anda memiliki dua opsi untuk mengonfigurasi sumber daya Application Insights dengan akun penyimpanan peta sumber.

Tab detail transaksi menyeluruh

Dari tab Detail transaksi end-to-end, pilih Batalkan. Konfigurasikan sumber daya Anda jika tidak dikonfigurasi.

  1. Di portal Azure, lihat detail pengecualian yang dikurangi.
  2. Pilih Unminify.
  3. Jika sumber daya Anda tidak dikonfigurasi, konfigurasikan.
Tab properti

Untuk mengonfigurasi atau mengubah akun penyimpanan atau kontainer blob yang ditautkan ke sumber daya Application Insights Anda:

  1. Buka tab Properti sumber daya Application Insights Anda.

  2. Pilih Ubah peta sumber Kontainer Blob.

  3. Pilih kontainer blob yang berbeda sebagai kontainer peta sumber Anda.

  4. Pilih Terapkan.

    Cuplikan layar yang memperlihatkan konfigurasi ulang kontainer blob Azure yang Anda pilih di panel Properti.

Menampilkan tumpukan panggilan yang tidak diminifikasi

Untuk melihat tumpukan panggilan yang tidak diminifikasi, pilih item Telemetri Pengecualian di portal Azure, temukan peta sumber yang cocok dengan tumpukan panggilan, dan seret dan letakkan peta sumber ke tumpukan panggilan di portal Azure. Peta sumber harus memiliki nama yang sama dengan file sumber bingkai tumpukan, tetapi dengan map ekstensi.

Jika Anda mengalami masalah yang melibatkan dukungan peta sumber untuk aplikasi JavaScript, lihat Memecahkan masalah dukungan peta sumber untuk aplikasi JavaScript.

Animasi yang menunjukkan fitur unminify.

Pohon gemetar

Pemecahan pohon menghilangkan kode yang tidak digunakan dari bundel JavaScript akhir.

Untuk memanfaatkan shaking pohon, impor hanya komponen SDK yang diperlukan ke dalam kode Anda. Dengan demikian, kode yang tidak digunakan tidak disertakan dalam bundel akhir, mengurangi ukurannya dan meningkatkan performa.

Peningkatan dan rekomendasi gemetar pohon

Dalam versi 2.6.0, kami tidak digunakan lagi dan menghapus penggunaan internal kelas pembantu statis ini untuk meningkatkan dukungan untuk algoritma yang membentuk pohon. Ini memungkinkan paket npm dengan aman menghilangkan kode yang tidak digunakan.

  • CoreUtils
  • EventHelper
  • Util
  • UrlHelper
  • DateTimeUtils
  • ConnectionStringParser

Fungsi sekarang diekspor sebagai akar tingkat atas dari modul, sehingga lebih mudah untuk merefaktor kode Anda untuk pemecahan pohon yang lebih baik.

Kelas statis diubah menjadi objek const yang mereferensikan fungsi baru yang diekspor, dan perubahan di masa mendatang direncanakan untuk merefaktor referensi lebih lanjut.

Fungsi dan penggantian pohon yang tidak digunakan lagi

Bagian ini hanya berlaku untuk Anda jika Anda menggunakan fungsi yang tidak digunakan lagi dan Anda ingin mengoptimalkan ukuran paket. Sebaiknya gunakan fungsi penggantian untuk mengurangi ukuran dan mendukung semua versi Internet Explorer.

Yang Sudah Ada Penggantian
CoreUtils @microsoft/applicationinsights-core-js
CoreUtils._canUseCookies Tidak ada. Jangan gunakan karena menyebabkan semua referensi CoreUtils disertakan dalam kode akhir Anda.
Refaktor penanganan cookie Anda untuk menggunakan appInsights.getCookieMgr().setEnabled(true/false) untuk mengatur nilai dan appInsights.getCookieMgr().isEnabled() untuk memeriksa nilai.
CoreUtils.isTypeof isTypeof
CoreUtils.isUndefined isUndefined
CoreUtils.isNullOrUndefined isNullOrUndefined
CoreUtils.hasOwnProperty hasOwnProperty
CoreUtils.isFunction isFunction
CoreUtils.isObject isObject
CoreUtils.isDate isDate
CoreUtils.isArray isArray
CoreUtils.isError isError
CoreUtils.isString isString
CoreUtils.isNumber isNumber
CoreUtils.isBoolean isBoolean
CoreUtils.toISOString toISOString atau getISOString
CoreUtils.arrForEach arrForEach
CoreUtils.arrIndexOf arrIndexOf
CoreUtils.arrMap arrMap
CoreUtils.arrReduce arrReduce
CoreUtils.strTrim strTrim
CoreUtils.objCreate objCreateFn
CoreUtils.objKeys objKeys
CoreUtils.objDefineAccessors objDefineAccessors
CoreUtils.addEventHandler addEventHandler
CoreUtils.dateNow dateNow
CoreUtils.isIE isIE
CoreUtils.disableCookies disableCookies
Mereferensikan salah satu penyebab CoreUtils dirujuk untuk kompatibilitas mundur.
Refaktor penanganan cookie Anda untuk menggunakan appInsights.getCookieMgr().setEnabled(false)
CoreUtils.newGuid newGuid
CoreUtils.perfNow perfNow
CoreUtils.newId newId
CoreUtils.randomValue randomValue
CoreUtils.random32 random32
CoreUtils.mwcRandomSeed mwcRandomSeed
CoreUtils.mwcRandom32 mwcRandom32
CoreUtils.generateW3CId generateW3CId
EventHelper @microsoft/applicationinsights-core-js
EventHelper.Attach attachEvent
EventHelper.AttachEvent attachEvent
EventHelper.Detach detachEvent
EventHelper.DetachEvent detachEvent
Util @microsoft/applicationinsights-common-js
Util.NotSpecified strNotSpecified
Util.createDomEvent createDomEvent
Util.disableStorage utlDisableStorage
Util.isInternalApplicationInsightsEndpoint isInternalApplicationInsightsEndpoint
Util.canUseLocalStorage utlCanUseLocalStorage
Util.getStorage utlGetLocalStorage
Util.setStorage utlSetLocalStorage
Util.removeStorage utlRemoveStorage
Util.canUseSessionStorage utlCanUseSessionStorage
Util.getSessionStorageKeys utlGetSessionStorageKeys
Util.getSessionStorage utlGetSessionStorage
Util.setSessionStorage utlSetSessionStorage
Util.removeSessionStorage utlRemoveSessionStorage
Util.disableCookies disableCookies
Mereferensikan salah satu penyebab CoreUtils dirujuk untuk kompatibilitas mundur.
Refaktor penanganan cookie Anda untuk menggunakan appInsights.getCookieMgr().setEnabled(false)
Util.canUseCookies canUseCookies
Mereferensikan salah satu penyebab CoreUtils dirujuk untuk kompatibilitas mundur.
Refaktor penanganan cookie Anda untuk menggunakan appInsights.getCookieMgr().isEnabled()
Util.disallowsSameSiteNone uaDisallowsSameSiteNone
Util.setCookie coreSetCookie
Referensi menyebabkan CoreUtils dirujuk untuk kompatibilitas mundur.
Refaktor penanganan cookie Anda untuk menggunakan appInsights.getCookieMgr().set(name: string, value: string)
Util.stringToBoolOrDefault stringToBoolOrDefault
Util.getCookie coreGetCookie
Referensi menyebabkan CoreUtils dirujuk untuk kompatibilitas mundur.
Refaktor penanganan cookie Anda untuk menggunakan appInsights.getCookieMgr().get(name: string)
Util.deleteCookie coreDeleteCookie
Referensi menyebabkan CoreUtils dirujuk untuk kompatibilitas mundur.
Refaktor penanganan cookie Anda untuk menggunakan appInsights.getCookieMgr().del(name: string, path?: string)
Util.trim strTrim
Util.newId newId
Util.random32 ---
Tidak ada penggantian, refaktor kode Anda untuk menggunakan core random32(true)
Util.generateW3CId generateW3CId
Util.isArray isArray
Util.isError isError
Util.isDate isDate
Util.toISOStringForIE8 toISOString
Util.getIEVersion getIEVersion
Util.msToTimeSpan msToTimeSpan
Util.isCrossOriginError isCrossOriginError
Util.dump dumpObj
Util.getExceptionName getExceptionName
Util.addEventHandler attachEvent
Util.IsBeaconApiSupported isBeaconApiSupported
Util.getExtension getExtensionByName
UrlHelper @microsoft/applicationinsights-common-js
UrlHelper.parseUrl urlParseUrl
UrlHelper.getAbsoluteUrl urlGetAbsoluteUrl
UrlHelper.getPathName urlGetPathName
UrlHelper.getCompeteUrl urlGetCompleteUrl
UrlHelper.parseHost urlParseHost
UrlHelper.parseFullHost urlParseFullHost
DateTimeUtils @microsoft/applicationinsights-common-js
DateTimeUtils.Now dateTimeUtilsNow
DateTimeUtils.GetDuration dateTimeUtilsDuration
ConnectionStringParser @microsoft/applicationinsights-common-js
ConnectionStringParser.parse parseConnectionString

Pemberitahuan layanan

Pemberitahuan layanan adalah fitur yang disertakan dalam SDK untuk memberikan rekomendasi yang dapat ditindaklanjuti untuk membantu memastikan aliran telemetri Anda tidak terganggu ke Application Insights. Anda akan melihat pemberitahuan sebagai pesan pengecualian dalam Application Insights. Kami memastikan pemberitahuan relevan untuk Anda berdasarkan pengaturan SDK Anda, dan kami menyesuaikan verbositas berdasarkan urgensi rekomendasi. Sebaiknya biarkan pemberitahuan layanan aktif, tetapi Anda dapat memilih keluar melalui featureOptIn konfigurasi. Lihat di bawah ini untuk daftar pemberitahuan aktif.

Saat ini, tidak ada pemberitahuan aktif yang dikirim.

Pemecahan Masalah

Lihat artikel pemecahan masalah khusus.

Tanya jawab umum

Bagian ini menyediakan jawaban atas pertanyaan umum.

Bagaimana cara memperbarui konfigurasi server pihak ketiga saya untuk JavaScript SDK?

Sisi server harus dapat menerima koneksi dengan header yang ada tersebut. Bergantung pada konfigurasi Access-Control-Allow-Headers di sisi server, sering kali Anda harus memperluas daftar sisi server dengan menambahkan Request-Id, Request-Context, dan traceparent secara manual (header terdistribusi W3C).

Akses-Kontrol-Izinkan-Header: Request-Id, traceparent, Request-Context, <your header>

Bagaimana cara menonaktifkan pelacakan terdistribusi untuk JavaScript SDK?

Pelacakan terdistribusi dapat dinonaktifkan dalam konfigurasi.

Apakah respons HTTP 502 dan 503 selalu diambil oleh Application Insights?

Tidak. Kesalahan "Gateway buruk 502" dan "503 layanan tidak tersedia" tidak selalu ditangkap oleh Application Insights. Jika hanya JavaScript sisi klien yang digunakan untuk pemantauan, perilaku ini akan diharapkan karena respons kesalahan dikembalikan sebelum halaman yang berisi header HTML dengan cuplikan JavaScript pemantauan yang dirender.

Jika respons 502 atau 503 dikirim dari server dengan pemantauan sisi server diaktifkan, kesalahan dikumpulkan oleh Application Insights SDK.

Bahkan ketika pemantauan sisi server diaktifkan di server web aplikasi, terkadang kesalahan 502 atau 503 tidak ditangkap oleh Application Insights. Banyak server web modern tidak mengizinkan klien untuk berkomunikasi secara langsung. Sebaliknya, mereka menggunakan solusi seperti proksi terbalik untuk meneruskan informasi bolak-balik antara klien dan server web front-end.

Dalam skenario ini, respons 502 atau 503 mungkin dikembalikan ke klien karena masalah di lapisan proksi terbalik, sehingga tidak diambil secara langsung oleh Application Insights. Untuk membantu mendeteksi masalah pada lapisan ini, Anda mungkin perlu meneruskan log dari proksi terbalik ke Log Analytics dan membuat aturan kustom untuk memeriksa respons 502 atau 503. Untuk mempelajari selengkapnya tentang penyebab umum kesalahan 502 dan 503, lihat Memecahkan masalah kesalahan HTTP "gateway buruk 502" dan "layanan 503 tidak tersedia" di Azure App Service.

Langkah berikutnya