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 |
Manajemen cookie
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.
Konfigurasi cookie
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
Menautkan ke akun Penyimpanan Blob
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.
Membuat akun penyimpanan dan kontainer blob baru
Jika Anda sudah memiliki akun penyimpanan atau wadah blob, Anda dapat melewati langkah ini.
Buat akun penyimpanan baru.
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.
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
.
Mengunggah peta sumber melalui Azure Pipelines (disarankan)
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.
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.
- Di portal Azure, lihat detail pengecualian yang dikurangi.
- Pilih Unminify.
- 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:
Buka tab Properti sumber daya Application Insights Anda.
Pilih Ubah peta sumber Kontainer Blob.
Pilih kontainer blob yang berbeda sebagai kontainer peta sumber Anda.
Pilih Terapkan.
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.
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.