Microsoft Azure İzleyici Uygulaması Analizler JavaScript SDK yapılandırması

JavaScript SDK'sı Analizler Azure Uygulaması, web uygulamalarınızı izlemeye, izlemeye ve hata ayıklamaya yönelik yapılandırma sağlar.

SDK yapılandırması

Bu yapılandırma alanları, aksi belirtilmedikçe isteğe bağlıdır ve varsayılan olarak false olarak ayarlanır.

SDK yapılandırması ekleme yönergeleri için bkz . SDK yapılandırması ekleme.

Veri Akışı Adı Tür Varsayılan
accountId

Uygulamanız kullanıcıları hesaplar halinde gruplandırırsa isteğe bağlı bir hesap kimliği. Boşluk, virgül, noktalı virgül, eşittir veya dikey çubuk yok
Dize boş
addRequestContext

Api çağrısının başındaki bağlamla bağımlılık günlüklerini zenginleştirmek için bir yol sağlayın. Varsayılan tanımlanmamıştır. İlgili bağlamı yapılandırırsanız xhr mevcut olup olmadığını xhr denetlemeniz gerekir. İlgili bağlamı yapılandırıp yapılandırmadığınız fetch ve var olup olmadığını fetch requestfetch response denetlemeniz gerekir. Aksi takdirde ihtiyacınız olan verileri alamayabilirsiniz.
(requestContext: IRequestionContext) => {[key: string]: any} Tanımsız
ajaxPerfLookupDelay

Varsayılan değer: 25 ms. Ajax isteğinin windows.performance zamanlamalarını bulmak için yeniden kullanıma almadan önce beklenen süre milisaniye cinsindendir ve doğrudan setTimeout() öğesine geçirilir.
sayısal 25
appId

AppId, istemci tarafında sunucu tarafı istekleriyle gerçekleşen AJAX bağımlılıkları arasındaki bağıntı için kullanılır. İşaret API'si etkinleştirildiğinde otomatik olarak kullanılamaz, ancak yapılandırmada el ile ayarlanabilir. Varsayılan değer null
Dize boş
autoTrackPageVisitTime

Doğruysa, bir sayfa görünümünde, önceki izlenen sayfanın görüntüleme süresi izlenir ve telemetri olarak gönderilir ve geçerli sayfa görünümü için yeni bir zamanlayıcı başlatılır. içinde adlı PageVisitTimemilliseconds özel bir ölçüm olarak gönderilir ve Date now() işlevi (varsa) aracılığıyla hesaplanır ve (yeni Date()) öğesine geri döner.getTime() now() kullanılamıyorsa (IE8 veya daha az). Varsayılan değer yanlış'tır.
boolean yanlış
convertUndefined

Kullanıcıya tanımlanmamış alanı kullanıcı tanımlı değere dönüştürme seçeneği sağlayın.
any Tanımsız
cookieCfg

Tanımlama bilgisi kullanımı etkin varsayılanları tam varsayılanlar için bkz . ICookieCfgConfig ayarları.
ICookieCfgConfig
[İsteğe bağlı]
(2.6.0'dan itibaren)
Tanımsız
cookieDomain

Özel tanımlama bilgisi etki alanı. Uygulama Analizler tanımlama bilgilerini alt etki alanları arasında paylaşmak istiyorsanız yararlı olur.
(v2.6.0'dan itibaren) Tanımlanmışsa cookieCfg.domain bu değerden önceliklidir.
diğer adı cookieCfg.domain
[İsteğe bağlı]
boş
Cookiepath

Özel tanımlama bilgisi yolu. Application Analizler tanımlama bilgilerini bir uygulama ağ geçidinin arkasında paylaşmak istiyorsanız yararlı olur.
Tanımlanırsa cookieCfg.path öncelik kazanır.
diğer adı cookieCfg.path
[İsteğe bağlı]
(2.6.0'dan itibaren)
boş
correlationHeaderDomains

Belirli etki alanları için bağıntı üst bilgilerini etkinleştirme
string[] Tanımsız
correlationHeaderExcludedDomains

Belirli etki alanları için bağıntı üst bilgilerini devre dışı bırakma
string[] Tanımsız
correlationHeaderExcludePatterns

Normal ifadeleri kullanarak bağıntı üst bilgilerini devre dışı bırakma
regex[] Tanımsız
createPerfMgr

Gerektiğinde enablePerfMgr ve etkinleştirildiğinde bir IPerfManager örneği oluşturmak için çağrılacak geri çağırma işlevi, başlatma işleminden sonra gerek setPerfMgr() kalmadan bir PerfManager() öğesinin varsayılan oluşturma işlemini geçersiz kılmanızı sağlar.
(core: IApp Analizler Core, notificationManager: INotificationManager) => IPerfManager Tanımsız
customHeaders

Kullanıcının özel bir uç nokta kullanırken ek üst bilgi sağlayabilmesi. customHeader'lar, işaret gönderen kullanıldığında tarayıcı kapatma anında eklenmez. Ayrıca özel üst bilgiler eklemek IE9 veya önceki sürümlerde desteklenmez.
[{header: string, value: string}] Tanımsız
diagnosticLogInterval

(iç) İç günlük kuyruğu için yoklama aralığı (ms cinsinden)
sayısal 10000
disableAjaxTracking

Doğruysa, Ajax çağrıları otomatik olarak toplamaz. Varsayılan değer yanlış'tır.
boolean yanlış
disableCookiesUsage

Varsayılan false. SDK tarafından tanımlama bilgilerinin kullanılmasının devre dışı bırakılıp bırakılmayacağını gösteren boole değeri. Doğruysa, SDK tanımlama bilgilerinden hiçbir veri depolamaz veya okumaz.
(v2.6.0'dan itibaren) Tanımlanırsa cookieCfg.enabled öncelik kazanır. Tanımlama bilgisi kullanımı, core.getCookieMgr().setEnabled(true) aracılığıyla başlatma işleminden sonra yeniden etkinleştirilebilir.
diğer adı cookieCfg.enabled
[İsteğe bağlı]
yanlış
disableCorrelationHeaders

False ise SDK, tüm bağımlılık isteklerine iki üst bilgi ('Request-Id' ve 'Request-Context') arak bunları sunucu tarafındaki ilgili isteklerle ilişkilendirer. Varsayılan değer yanlış'tır.
boolean yanlış
disableDataLossAnalysis

False ise, iç telemetri gönderen arabellekleri henüz gönderilmemiş öğeler için başlangıçta denetlenür.
boolean true
disableExceptionTracking

True ise, özel durumlar otomatik olarak toplamaz. Varsayılan değer yanlış'tır.
boolean yanlış
disableFetchTracking

için disableFetchTracking varsayılan ayarı etkin falseolduğu anlamına gelir. Ancak, 2.8.10 öncesi sürümlerde varsayılan olarak devre dışı bırakılmıştır. olarak ayarlandığında true, Getirme istekleri otomatik olarak toplanmaz. Varsayılan ayar 2.8.0 sürümünde olarak değiştirildi truefalse .
boolean yanlış
disableFlushOnBeforeUnload

Varsayılan false. True ise, onBeforeUnload olay tetikleyicileri olduğunda flush yöntemi çağrılmaz
boolean yanlış
disableIkeyDeprecationMessage

İzleme Anahtarını kullanımdan kaldırma hata iletisini devre dışı bırakın. Doğruysa, hata iletileri GÖNDERILMEZ.
boolean true
disableInstrumentationKeyValidation

Doğruysa, izleme anahtarı doğrulama denetimi atlanır. Varsayılan değer yanlış'tır.
boolean yanlış
disableTelemetry

Doğruysa telemetri toplanmaz veya gönderilmez. Varsayılan değer yanlış'tır.
boolean yanlış
disableXhr

Varsayılan olarak XMLHttpRequest veya XDomainRequest (IE < 9 için) kullanmayın; bunun yerine fetch() veya sendBeacon kullanmayı deneyin. Başka aktarım yoksa XMLHttpRequest kullanır
boolean yanlış
distributedTracingMode

Dağıtılmış izleme modunu ayarlar. AI_AND_W3C modu veya W3C modu ayarlanırsa, W3C izleme bağlamı üst bilgileri (traceparent/tracestate) oluşturulur ve tüm giden isteklere eklenir. AI_AND_W3C, tüm eski Application Analizler izlemeli hizmetlerle arka uyumluluk için sağlanır.
sayısal veya DistributedTracingModes DistributedTracing Modes.AI_AND_W3C
enableAjaxErrorStatusText

Varsayılan false. True ise, başarısız AJAX isteklerindeki bağımlılık olayına yanıt hatası veri metni boole değerini ekleyin.
boolean yanlış
enableAjaxPerfTracking

Varsayılan false. Bildirilen Ajax (XHR ve getirme) bildirilen ölçümlerinde arama ve ek tarayıcı penceresi.performans zamanlamaları dahil etme bayrağı.
boolean yanlış
enableAutoRouteTracking

Tek Sayfalı Uygulamalarda (SPA) yol değişikliklerini otomatik olarak izleme. Doğruysa, her yol değişikliği Application Analizler'e yeni bir Pageview gönderir. Karma yol değişiklikleri (example.com/foo#bar) yeni sayfa görünümleri olarak da kaydedilir.
Not: Bu alanı etkinleştirirseniz, birden çok sayfa görüntüleme olayı elde ettiğiniz için React yönlendirici yapılandırması için nesnesini etkinleştirmeyinhistory.
boolean yanlış
enableCorsCorrelation

True ise SDK, giden AJAX bağımlılıklarını sunucu tarafındaki ilgili isteklerle ilişkilendirmek için tüm CORS isteklerine iki üst bilgi ('Request-Id' ve 'Request-Context') ekler. Varsayılan değer false
boolean yanlış
enableDebug

True ise, SDK günlük ayarları ne olursa olsun, iç hata ayıklama verileri günlüğe kaydedilmek yerine bir özel durum olarak oluşturulur. Varsayılan değer yanlış'tır.
Not: Bu ayarın etkinleştirilmesi, bir iç hata oluştuğunda telemetrinin bırakılmasına neden olur. SDK yapılandırmanızla veya kullanımınızla ilgili sorunları hızla belirlemek için yararlı olabilir. Hata ayıklarken telemetriyi kaybetmek istemiyorsanız veya loggingLevelTelemetry yerine enableDebugkullanmayı loggingLevelConsole göz önünde bulundurun.
boolean yanlış
enablePerfMgr

Etkinleştirildiğinde (true) perfEvents (doPerf() yardımcısı aracılığıyla) yaymak için izlenmiş kod için yerel perfEvents oluşturur. Sdk içindeki performans sorunlarını kullanımınıza göre veya isteğe bağlı olarak kendi izleme kodunuz içinde tanımlamak için kullanılabilir.
boolean yanlış
enableRequestHeaderTracking

Doğruysa, AJAX & Getirme isteği üst bilgileri izlenir, varsayılan değer false olur. IgnoreHeaders yapılandırılmamışsa Yetkilendirme ve X-API-Key üst bilgileri günlüğe kaydedilmez.
boolean yanlış
enableResponseHeaderTracking

True ise, AJAX & Fetch isteğinin yanıt üst bilgileri izlenir, varsayılan değer false olur. ignoreHeaders yapılandırılmamışsa, WWW-Authenticate üst bilgisi günlüğe kaydedilmez.
boolean yanlış
enableSession Depolama Buffer

Varsayılan true. True ise, tüm yanıtsız telemetri verilerini içeren arabellek oturum depolama alanında depolanır. Arabellek sayfa yüklemesinde geri yüklenir
boolean true
enableUnhandledPromiseRejectionTracking

True ise, işlenmeyen söz reddetmeleri JavaScript hatası olarak otomatik olarak kabul edilir. disableExceptionTracking true olduğunda (özel durumları izlemeyin), yapılandırma değeri yoksayılır ve işlenmeyen söz reddetmeleri bildirilmez.
boolean yanlış
eventsLimitInMem

SDK, Oturum Depolama (varsayılan) kullanmadığında olayları bırakmaya başlamadan önce bellekte tutulabilecek olayların sayısı.
Numara 10000
excludeRequestFromAutoTrackingPatterns

XMLHttpRequest veya Fetch isteği için belirli bir yolu otomatik izlemenin dışında tutmak için bir yol sağlayın. Tanımlanırsa, istek URL'sinin regex desenleriyle eşleştiğinden bir Ajax /fetch isteği için otomatik izleme kapatılır. Varsayılan tanımlanmamıştır.
string[] | RegExp[] Tanımsız
featureOptIn

Özellik kabul etme ayrıntılarını ayarlayın.

Bu yapılandırma alanı yalnızca 3.0.3 ve sonraki sürümlerde kullanılabilir.
IFeatureOptIn Tanımsız
idLength

Yeni rastgele oturum ve kullanıcı kimlikleri oluşturmak için kullanılan varsayılan uzunluğu tanımlar. Varsayılan değer 22'ydi, önceki varsayılan değer 5'tir (v2.5.8 veya üzeri), önceki maksimum uzunluğu korumanız gerekiyorsa değeri 5 olarak ayarlamanız gerekir.
sayısal 22
ignoreHeaders

AJAX & Fetch isteği ve yanıt üst bilgileri günlük verilerinde yoksayılacak. Varsayılanı geçersiz kılmak veya atmak için, dışlanacak tüm üst bilgileri içeren bir dizi veya yapılandırmaya boş bir dizi ekleyin.
string[] ["Authorization", "X-API-Key", "WWW-Authenticate"]
isBeaconApiDisabled

Yanlışsa SDK, beacon API'sini kullanarak tüm telemetri verilerini gönderir
boolean true
isBrowserLinkTrackingEnabled

Varsayılan değer yanlış'tır. Doğruysa, SDK tüm Tarayıcı Bağlantısı isteklerini izler.
boolean yanlış
isRetryDisabled

Varsayılan false. Yanlışsa, 206 (kısmi başarı), 408 (zaman aşımı), 429 (çok fazla istek), 500 (iç sunucu hatası), 503 (hizmet kullanılamıyor) ve 0 (yalnızca algılanırsa çevrimdışı) üzerinde yeniden deneyin
boolean yanlış
is Depolama UseDisabled

Doğruysa, SDK yerel ve oturum depolamadan veri depolamaz veya okumaz. Varsayılan değer yanlış'tır.
boolean yanlış
loggingLevelConsole

İç Uygulama Analizler hatalarını konsola kaydeder.
0: kapalı,
1: Yalnızca kritik hatalar,
2: Her şey (hatalar ve uyarılar)
sayısal 0
loggingLevelTelemetry

İç Uygulama Analizler hatalarını telemetri olarak gönderir.
0: kapalı,
1: Yalnızca kritik hatalar,
2: Her şey (hatalar ve uyarılar)
sayısal 1
maxAjaxCallsPerView

Varsayılan 500 - Sayfa görünümü başına kaç Ajax çağrısının izleneceğini denetler. Sayfadaki tüm (sınırsız) Ajax çağrılarını izlemek için -1 olarak ayarlayın.
sayısal 500
maxAjaxPerfLookupAttempts

Varsayılan değer 3'tir. Window.performance timings (varsa) için aranacak en fazla sayı gereklidir. XHR isteğinin sonunu bildirmeden önce tüm tarayıcılar window.performance dosyasını doldurmaz. Getirme istekleri tamamlandıktan sonra eklenir.
sayısal 3
maxBatchInterval

Göndermeden önce telemetriyi toplu işleme süresi (milisaniye)
sayısal 15000
maxBatchSizeInBytes

En büyük telemetri toplu işlemi boyutu. Toplu iş bu sınırı aşarsa hemen gönderilir ve yeni bir toplu iş başlatılır
sayısal 10000
namePrefix

Yerel Depolama ve oturum tanımlama bilgisi adı için ad son eki olarak kullanılan isteğe bağlı bir değer.
Dize Tanımsız
onunloadDisableBeacon

Varsayılan false. Sekme kapatıldığında SDK kalan tüm telemetri verilerini İşaret API'sini kullanarak gönderir
boolean yanlış
onunloadDisableFetch

Fetch keepalive destekleniyorsa, kaldırma sırasında olayları göndermek için bunu kullanmıyorsa, tutma olmadan fetch() öğesine geri dönebilir
boolean yanlış
overridePageViewDuration

True ise, trackPageView'un varsayılan davranışı trackPageView çağrıldığında sayfa sonu görünümü süre aralığını kaydedecek şekilde değiştirilir. TrackPageView için false ve özel süre sağlanmadıysa, sayfa görünümü performansı gezinti zamanlama API'si kullanılarak hesaplanır. Varsayılan değer yanlış'tır.
boolean yanlış
perfEvtsSendAll

EnablePerfMgr etkinleştirildiğinde ve IPerfManager bir INotificationManager.perfEvent() tetiklediğinde, bu bayrak bir olayın tüm olaylar (true) için mi yoksa yalnızca 'üst' olaylar (yanlış <varsayılan>) için mi tetikleneceğini (ve tüm dinleyicilere gönderileceğini) belirler.
Üst IPerfEvent , oluşturulan olayın noktasında başka hiçbir IPerfEvent'in hala çalışmadığı ve üst özelliğinin null veya tanımsız olmadığı bir olaydır. v2.5.7'den beri
boolean yanlış
samplingPercentage

Gönderilen olayların yüzdesi. Varsayılan değer 100'dür, yani tüm olaylar gönderilir. Büyük ölçekli uygulamalar için veri üst sınırınızı korumak istiyorsanız ayarlayın.
sayısal Kategori 100
sdkExtension

SDK uzantısı adını ayarlar. Yalnızca alfabetik karakterlere izin verilir. Uzantı adı , 'ai.internal.sdkVersion' etiketine bir ön ek olarak eklenir (örneğin, 'ext_javascript:2.0.0'). Varsayılan değer null'tır.
Dize boş
sessionCookiePostfix

Oturum tanımlama bilgisi adı için ad son eki olarak kullanılan isteğe bağlı bir değer. Tanımlanmamışsa, oturum tanımlama bilgisi adı için ad son eki olarak namePrefix kullanılır.
Dize Tanımsız
sessionExpirationMs

Bu süre milisaniye cinsinden devam ettiyse oturum günlüğe kaydedilir. Varsayılan değer 24 saattir
sayısal 86400000
sessionRenewalMs

Kullanıcı bu süre boyunca milisaniye cinsinden etkin değilse oturum günlüğe kaydedilir. Varsayılan değer 30 dakikadır
sayısal 1800000
throttleMgrCfg

Kısıtlama mgr yapılandırmasını anahtara göre ayarlayın.

Bu yapılandırma alanı yalnızca 3.0.3 ve sonraki sürümlerde kullanılabilir.
{[key: number]: IThrottleMgrConfig} Tanımsız
userCookiePostfix

Kullanıcı tanımlama bilgisi adı için ad son eki olarak kullanılan isteğe bağlı bir değer. Tanımlanmamışsa, kullanıcı tanımlama bilgisi adına hiçbir sonek eklenmez.
Dize Tanımsız

Sürüm 2.6.0'dan başlayarak JavaScript SDK'sı Azure Uygulaması Analizler, başlatma sonrasında devre dışı bırakılıp yeniden etkinleştirilebilen örnek tabanlı tanımlama bilgisi yönetimi sağlar.

veya yapılandırmalarını kullanarak disableCookiesUsage tanımlama bilgilerini başlatma sırasında devre dışı bırakdıysanız, ICookieMgr nesnesinin setEnabledişlevini kullanarak bunları yeniden etkinleştirebilirsiniz.cookieCfg.enabled

Örnek tabanlı tanımlama bilgisi yönetimi, , setCookie(), getCookie()ve deleteCookie()değerlerinin önceki CoreUtils genel işlevlerinin disableCookies()yerini alır.

2.6.0 sürümünde sunulan ağaç sallama geliştirmelerinden yararlanmak için genel işlevlerin artık kullanılmaması önerilir.

ICookieMgrConfig, 2.6.0'da eklenen örnek tabanlı tanımlama bilgisi yönetimi için bir tanımlama bilgisi yapılandırmasıdır. Sağlanan seçenekler, SDK tarafından tanımlama bilgilerinin kullanımını etkinleştirmenize veya devre dışı bırakmanıza olanak tanır. Ayrıca özel tanımlama bilgisi etki alanları ve yolları ayarlayabilir ve tanımlama bilgilerini getirme, ayarlama ve silme işlevlerini özelleştirebilirsiniz.

ICookieMgrConfig seçenekleri aşağıdaki tabloda tanımlanmıştır.

Veri Akışı Adı Tür Varsayılan Açıklama
enabled boolean true SDK'nın geçerli örneği, tanımlama bilgilerinin kullanımının etkinleştirilip etkinleştirilmediğini belirtmek için bu boole değerini kullanır. False ise, bu yapılandırma tarafından başlatılan SDK örneği tanımlama bilgilerindeki verileri depolamaz veya okumaz.
etki alanı Dize boş Özel tanımlama bilgisi etki alanı. Uygulama Analizler tanımlama bilgilerini alt etki alanları arasında paylaşmak istiyorsanız yararlı olur. Sağlanmazsa, kök cookieDomain değerden değerini kullanır.
yol Dize / Tanımlama bilgisi için kullanılacak yolu belirtir, sağlanmadıysa kök cookiePath değerden herhangi bir değer kullanır.
ignoreCookies string[] Tanımsız Yoksayılacak tanımlama bilgisi adlarını belirtin; eşleşen tanımlama bilgisi adlarının hiçbir zaman okunmamasını veya yazılmamasını sağlayın. Bunlar yine de açıkça temizlenebilir veya silinebilir. Yapılandırmada blockedCookies adı yinelemeniz gerekmez. (v2.8.8'den itibaren)
blockedCookies string[] Tanımsız Hiçbir zaman yazılacak tanımlama bilgisi adlarını belirtin. Herhangi bir tanımlama bilgisi adının oluşturulmasını veya güncelleştirilmesini engeller, ancak ignoreCookies'e dahil edilmediği sürece bunlar yine de okunabilir. Bunlar yine de açıkça temizlenebilir veya silinebilir. Sağlanmazsa ignoreCookies içinde varsayılan olarak aynı listeye sahiptir. (v2.8.8'den itibaren)
getCookie (name: string) => string boş Adlandırılmış tanımlama bilgisi değerini getirmek için işlev, sağlanmadıysa iç tanımlama bilgisi ayrıştırma / önbelleğe alma kullanır.
Setcookie (name: string, value: string) => void boş Adlandırılmış tanımlama bilgisini belirtilen değerle ayarlama işlevi; yalnızca tanımlama bilgisi eklerken veya güncelleştirirken çağrılır.
delCookie (name: string, value: string) => void boş Tanımlama bilgisinin eklenip eklenmediğini veya kaldırıldığını belirlemek için değeri ayrıştırma gereksinimini ortadan kaldırmak için belirtilen değere sahip adlandırılmış tanımlama bilgisini silme işlevi. Sağlanmadıysa iç tanımlama bilgisi ayrıştırma / önbelleğe alma kullanır.

Kaynak eşleme

Kaynak eşleme desteği, özel durum telemetrinizin küçültüldü çağrı yığınını ayırarak küçültüldü JavaScript kodunda hata ayıklamanıza yardımcı olur.

  • Özel Durum Ayrıntıları panelindeki tüm geçerli tümleştirmelerle uyumlu
  • SDK yükseltmesine gerek kalmadan Node.JS de dahil olmak üzere tüm geçerli ve gelecekteki JavaScript SDK'larını destekler

Uygulama Analizler, kaynak eşlemelerin Azure Depolama hesabı blob kapsayıcınıza yüklenmesini destekler. Uçtan uca işlem ayrıntıları sayfasında bulunan çağrı yığınlarını birleştirmek için kaynak eşlemeleri kullanabilirsiniz. JavaScript SDK'sı veya Node.js SDK'sı tarafından gönderilen özel durumları çözmek için kaynak eşlemeleri de kullanabilirsiniz.

Screenshot that shows selecting the option to unminify a call stack by linking with a storage account.

Yeni depolama hesabı ve blob kapsayıcısı oluşturma

Zaten bir depolama hesabınız veya blob kapsayıcınız varsa bu adımı atlayabilirsiniz.

  1. Yeni bir depolama hesabı oluşturun.

  2. Depolama hesabınızın içinde bir blob kapsayıcısı oluşturun. Kaynak eşlemelerinizin genel olarak erişilebilir olmadığından emin olmak için Genel erişim düzeyiniÖzel olarak ayarlayın.

    Screenshot that shows setting the container access level to Private.

Kaynak eşlemelerinizi blob kapsayıcınıza gönderme

Kaynak eşlemelerinizi yapılandırılan blob kapsayıcısına otomatik olarak yükleyecek şekilde yapılandırarak sürekli dağıtım işlem hattınızı depolama hesabınızla tümleştirin.

Kaynak eşlemeleri, derlenip dağıtıldıkları klasör yapısıyla Azure Blob Depolama kapsayıcınıza yükleyebilirsiniz. Yaygın kullanım örneklerinden biri, bir dağıtım klasörünün ön ekini sürümüyle (örneğin, 1.2.3/static/js/main.js) kullanmaktır. adlı sourcemapsbir Azure blob kapsayıcısı aracılığıyla ayırdığınızda işlem hattı konumunda sourcemaps/1.2.3/static/js/main.js.mapbulunan bir kaynak eşlemeyi getirmeye çalışır.

Uygulamanızı sürekli derlemek ve dağıtmak için Azure Pipelines kullanıyorsanız kaynak haritalarınızı otomatik olarak karşıya yüklemek için işlem hattınıza bir Azure dosya kopyalama görevi ekleyin.

Screenshot that shows adding an Azure file copy task to your pipeline to upload your source maps to Azure Blob Storage.

Application Analizler kaynağınızı kaynak eşleme depolama hesabıyla yapılandırma

Application Analizler kaynağınızı bir kaynak eşleme depolama hesabıyla yapılandırmak için iki seçeneğiniz vardır.

Uçtan uca işlem ayrıntıları sekmesi

Uçtan uca işlem ayrıntıları sekmesinden Ayır'ı seçin. Yapılandırılmamışsa kaynağınızı yapılandırın.

  1. Azure portalında, küçültüldü bir özel durumun ayrıntılarını görüntüleyin.
  2. Tümleştir'i seçin.
  3. Kaynağınız yapılandırılmadıysa yapılandırın.
Özellikler sekmesi

Uygulama Analizler kaynağınıza bağlı depolama hesabını veya blob kapsayıcısını yapılandırmak veya değiştirmek için:

  1. Uygulama Analizler kaynağınızın Özellikler sekmesine gidin.

  2. Kaynak eşleme blob kapsayıcısını değiştir'i seçin.

  3. Kaynak eşleme kapsayıcınız olarak farklı bir blob kapsayıcısı seçin.

  4. Uygula’yı seçin.

    Screenshot that shows reconfiguring your selected Azure blob container on the Properties pane.

Unminified callstack'i görüntüleme

Gereksiz çağrı yığınını görüntülemek için Azure portalında bir Özel Durum Telemetrisi öğesi seçin, çağrı yığınıyla eşleşen kaynak eşlemeleri bulun ve kaynak eşlemeleri Sürükleyip Azure portalındaki çağrı yığınına bırakın. Kaynak eşleme, bir yığın çerçevesinin kaynak dosyasıyla aynı ada sahip olmalı, ancak bir map uzantıya sahip olmalıdır.

JavaScript uygulamaları için kaynak eşleme desteğiyle ilgili sorunlarla karşılaşıyorsanız bkz . JavaScript uygulamaları için kaynak eşleme desteği sorunlarını giderme.

Animation demonstrating unminify feature.

Ağaç sallanıyor

Ağaç sallama, son JavaScript paketindeki kullanılmayan kodu ortadan kaldırır.

Ağaç sallama işleminden yararlanmak için yalnızca SDK'nın gerekli bileşenlerini kodunuz içine aktarın. Bunu yaptığınızda, kullanılmayan kod son pakete dahil edilmediğinden boyutu küçültülür ve performans iyileştirilir.

Ağaç sallama geliştirmeleri ve önerileri

Sürüm 2.6.0'da, ağaç sallama algoritmalarına yönelik desteği geliştirmek için bu statik yardımcı sınıfların iç kullanımını kullanımdan kaldırdık ve kaldırdık. Npm paketlerinin kullanılmayan kodu güvenli bir şekilde bırakmasına olanak tanır.

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

İşlevler artık modüllerden en üst düzey kökler olarak dışarı aktarılarak daha iyi ağaç sallama için kodunuzu yeniden düzenlemeyi kolaylaştırır.

Statik sınıflar, dışarı aktarılan yeni işlevlere başvuran const nesneleri olarak değiştirildi ve başvuruların daha fazla yeniden düzenlenmesi için gelecekteki değişiklikler planlanıyor.

Ağaç sallama kullanım dışı işlevler ve değişimler

Bu bölüm yalnızca kullanım dışı işlevleri kullanıyorsanız ve paket boyutunu iyileştirmek istiyorsanız sizin için geçerlidir. Internet Explorer'ın tüm sürümlerinin boyutunu küçültmek ve desteklemek için değiştirme işlevlerini kullanmanızı öneririz.

Mevcut Değiştirme
CoreUtils @microsoft/applicationinsights-core-js
CoreUtils._canUseCookies Yok. Tüm CoreUtils başvurularının son kodunuza eklenmesine neden olduğundan kullanmayın.
Değerini ayarlamak ve appInsights.getCookieMgr().isEnabled() değeri denetlemek için öğesini kullanmak appInsights.getCookieMgr().setEnabled(true/false) için tanımlama bilgisi işlemenizi yeniden düzenleme.
CoreUtils.isTypeof isTypeof
CoreUtils.isUndefined isUndefined
CoreUtils.isNullOrUndefined isNullOrUndefined
CoreUtils.hasOwnProperty hasOwnProperty
CoreUtils.isFunction isFunction
CoreUtils.isObject isObject
CoreUtils.isDate ısdate
CoreUtils.isArray isArray
CoreUtils.isError ıserror
CoreUtils.isString isString
CoreUtils.isNumber ısnumber
CoreUtils.isBoolean isBoolean
CoreUtils.toISOString toISOString veya 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
Her ikisine de başvurmak, geriye dönük uyumluluk için CoreUtils'e başvurulmaya neden olur.
Tanımlama bilgisi işlemenizi, appInsights.getCookieMgr().setEnabled(false)
CoreUtils.newGuid newGuid
CoreUtils.perfNow perfNow
CoreUtils.newId Newıd
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.disable Depolama utlDisable Depolama
Util.isInternalApplication Analizler Endpoint isInternalApplication Analizler Endpoint
Util.canUseLocal Depolama utlCanUseLocal Depolama
Util.get Depolama utlGetLocal Depolama
Util.set Depolama utlSetLocal Depolama
Util.remove Depolama utlRemove Depolama
Util.canUseSession Depolama utlCanUseSession Depolama
Util.getSession Depolama Keys utlGetSession Depolama Keys
Util.getSession Depolama utlGetSession Depolama
Util.setSession Depolama utlSetSession Depolama
Util.removeSession Depolama utlRemoveSession Depolama
Util.disableCookies disableCookies
Her ikisine de başvurmak, geriye dönük uyumluluk için CoreUtils'e başvurulmaya neden olur.
Tanımlama bilgisi işlemenizi, appInsights.getCookieMgr().setEnabled(false)
Util.canUseCookies canUseCookies
Her ikisine de başvurmak, geriye dönük uyumluluk için CoreUtils'e başvurulmaya neden olur.
Tanımlama bilgisi işlemenizi, appInsights.getCookieMgr().isEnabled()
Util.disallowsSameSiteNone uaDisallowsSameSiteNone
Util.setCookie coreSetCookie
Başvuru, geriye dönük uyumluluk için CoreUtils'e başvurulmaya neden olur.
Tanımlama bilgisi işlemenizi, appInsights.getCookieMgr().set(name: string, value: string)
Util.stringToBoolOrDefault stringToBoolOrDefault
Util.getCookie coreGetCookie
Başvuru, geriye dönük uyumluluk için CoreUtils'e başvurulmaya neden olur.
Tanımlama bilgisi işlemenizi, appInsights.getCookieMgr().get(name: string)
Util.deleteCookie coreDeleteCookie
Başvuru, geriye dönük uyumluluk için CoreUtils'e başvurulmaya neden olur.
Tanımlama bilgisi işlemenizi, appInsights.getCookieMgr().del(name: string, path?: string)
Util.trim strTrim
Util.newId Newıd
Util.random32 ---
Değiştirme yok, kodunuzu çekirdek random32(true) kullanacak şekilde yeniden düzenleme
Util.generateW3CId generateW3CId
Util.isArray isArray
Util.isError ıserror
Util.isDate ısdate
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
Bağlan ionStringParser @microsoft/applicationinsights-common-js
Bağlan ionStringParser.parse parse Bağlan ionString

Hizmet bildirimleri

Hizmet bildirimleri, uygulama Analizler telemetri akışınızın kesintisiz olmasını sağlamaya yardımcı olmak üzere eyleme dönüştürülebilir öneriler sağlamak için SDK'da yerleşik olarak bulunan bir özelliktir. Bildirimleri Uygulama Analizler içinde özel durum iletisi olarak görürsünüz. SDK ayarlarınıza göre bildirimlerin sizinle ilgili olduğundan eminiz ve önerinin aciliyetine göre ayrıntı düzeyini belirliyoruz. Hizmet bildirimlerini açık bırakmanızı öneririz, ancak yapılandırmayı featureOptIn devre dışı bırakabilirsiniz. Etkin bildirimlerin listesi için aşağıya bakın.

Şu anda etkin bildirim gönderilmemektedir.

Sorun giderme

Ayrılmış sorun giderme makalesine bakın.

Sık sorulan sorular

Bu bölüm, sık sorulan soruların yanıtlarını sağlar.

JavaScript SDK'sı için üçüncü taraf sunucu yapılandırmamı nasıl güncelleştirebilirim?

Sunucu tarafının bu üst bilgilerle bağlantıları kabul edebilmesi gerekir. Sunucu tarafındaki yapılandırmaya Access-Control-Allow-Headers bağlı olarak, genellikle , Request-Contextve traceparent (W3C dağıtılmış üst bilgisi) ekleyerek Request-Idsunucu tarafı listesini genişletmek gerekir.

Access-Control-Allow-Headers: Request-Id, traceparent, Request-Context, , <your header>

JavaScript SDK'sı için dağıtılmış izlemeyi nasıl devre dışı bırakabilirim?

Dağıtılmış izleme, yapılandırmada devre dışı bırakılabilir.

HTTP 502 ve 503 yanıtları her zaman Application Analizler tarafından yakalanır mı?

Hayır. "502 hatalı ağ geçidi" ve "503 hizmet kullanılamıyor" hataları her zaman Uygulama Analizler tarafından yakalanmaz. İzleme için yalnızca istemci tarafı JavaScript kullanılıyorsa, bu davranış beklenir çünkü hata yanıtı, izlenen JavaScript kod parçacığının işlendiği HTML üst bilgisini içeren sayfadan önce döndürülür.

Sunucu tarafı izleme etkinleştirilmiş bir sunucudan 502 veya 503 yanıtı gönderildiyse, hatalar Uygulama Analizler SDK'sı tarafından toplanır.

Bir uygulamanın web sunucusunda sunucu tarafı izleme etkinleştirildiğinde bile, bazen Uygulama Analizler tarafından 502 veya 503 hatası yakalanmaz. Birçok modern web sunucusu, istemcinin doğrudan iletişim kurmasına izin vermez. Bunun yerine, istemci ve ön uç web sunucuları arasında ileri geri bilgi geçirmek için ters proxy'ler gibi çözümler kullanılır.

Bu senaryoda, ters ara sunucu katmanındaki bir sorun nedeniyle istemciye 502 veya 503 yanıtı döndürülebilir, bu nedenle Uygulama Analizler tarafından kullanıma açık olarak yakalanmaz. Bu katmandaki sorunları algılamaya yardımcı olmak için günlükleri ters proxy'nizden Log Analytics'e iletmeniz ve 502 veya 503 yanıtlarını denetlemek için özel bir kural oluşturmanız gerekebilir. 502 ve 503 hatalarının yaygın nedenleri hakkında daha fazla bilgi edinmek için bkz. Azure Uygulaması Hizmeti'nde "502 hatalı ağ geçidi" ve "503 hizmet kullanılamıyor" HTTP hatalarını giderme.

Sonraki adımlar