Konfiguracja zestawu SDK javaScript Szczegółowe informacje aplikacji usługi Microsoft Azure Monitor

Zestaw SDK języka JavaScript aplikacja systemu Azure Szczegółowe informacje zapewnia konfigurację do śledzenia, monitorowania i debugowania aplikacji internetowych.

Konfiguracja zestawu SDK

Te pola konfiguracji są opcjonalne i domyślne dla wartości false, chyba że określono inaczej.

Aby uzyskać instrukcje dotyczące dodawania konfiguracji zestawu SDK, zobacz Dodawanie konfiguracji zestawu SDK.

Nazwisko Typ Wartość domyślna
accountId

Opcjonalny identyfikator konta, jeśli aplikacja grupuje użytkowników na konta. Brak spacji, przecinków, średników, równości lub słupków pionowych
string null
addRequestContext

Zapewnij sposób wzbogacania dzienników zależności z kontekstem na początku wywołania interfejsu API. Wartość domyślna jest niezdefiniowana. Należy sprawdzić, czy xhr istnieje, jeśli konfigurujesz xhr powiązany kontekst. Należy sprawdzić, czy fetch request i fetch response istnieje, jeśli konfigurujesz fetch powiązany kontekst. W przeciwnym razie możesz nie pobrać potrzebnych danych.
(requestContext: IRequestionContext) => {[key: string]: any} Niezdefiniowane
ajaxPerfLookupDelay

Wartość domyślna to 25 ms. Czas oczekiwania przed ponownym odcięciem, aby znaleźć czasy windows.performance dla żądania Ajax, czas jest w milisekundach i jest przekazywany bezpośrednio do setTimeout().
numeryczne 25
appId

Identyfikator AppId służy do korelacji między zależnościami AJAX wykonywanymi po stronie klienta z żądaniami po stronie serwera. Po włączeniu interfejsu API beacon nie można go używać automatycznie, ale można go ustawić ręcznie w konfiguracji. Wartość domyślna to null
string null
autoTrackPageVisitTime

Jeśli wartość true, w widoku strony czas wyświetlania poprzedniej instrumentowanej strony jest śledzony i wysyłany jako dane telemetryczne, a nowy czasomierz jest uruchamiany dla bieżącego widoku strony. Jest ona wysyłana jako metryka niestandardowa o nazwie PageVisitTime w milliseconds i jest obliczana za pomocą funkcji Date now() (jeśli jest dostępna) i wraca do (nowa data()).getTime() jeśli now() jest niedostępny (IE8 lub mniej). Wartość domyślna to „fałsz”.
boolean fałsz
konwertuj niezdefiniowane

Podaj użytkownikowi opcję konwertowania niezdefiniowanego pola na wartość zdefiniowaną przez użytkownika.
any Niezdefiniowane
cookieCfg

Ustawienia domyślne dotyczące użycia plików cookie są włączone, zobacz Ustawienia ICookieCfgConfig dla pełnych ustawień domyślnych.
ICookieCfgConfig
[Opcjonalnie]
(Od wersji 2.6.0)
Niezdefiniowane
cookieDomain

Niestandardowa domena plików cookie. Warto udostępnić pliki cookie Szczegółowe informacje aplikacji w poddomenach.
(Od wersji 2.6.0) Jeśli cookieCfg.domain wartość jest zdefiniowana, ma pierwszeństwo przed tą wartością.
alias dla cookieCfg.domain
[Opcjonalnie]
null
cookiePath

Niestandardowa ścieżka pliku cookie. Warto udostępnić pliki cookie Szczegółowe informacje aplikacji za bramą aplikacji.
Jeśli cookieCfg.path parametr jest zdefiniowany, ma pierwszeństwo.
alias dla cookieCfg.path
[Opcjonalnie]
(Od wersji 2.6.0)
null
correlationHeaderDomains

Włączanie nagłówków korelacji dla określonych domen
string[] Niezdefiniowane
correlationHeaderExcludedDomains

Wyłączanie nagłówków korelacji dla określonych domen
string[] Niezdefiniowane
correlationHeaderExcludePatterns

Wyłączanie nagłówków korelacji przy użyciu wyrażeń regularnych
wyrażenie regularne[] Niezdefiniowane
createPerfMgr

Funkcja wywołania zwrotnego, która zostanie wywołana w celu utworzenia wystąpienia IPerfManager w razie potrzeby i enablePerfMgr jest włączona, umożliwia zastąpienie domyślnego tworzenia narzędzia PerfManager() bez konieczności setPerfMgr() inicjowania.
(core: IApp Szczegółowe informacje Core, notificationManager: INotificationManager) => IPerfManager Niezdefiniowane
customHeaders

Możliwość udostępniania dodatkowych nagłówków w przypadku korzystania z niestandardowego punktu końcowego. customHeaders nie są dodawane w momencie zamknięcia przeglądarki, gdy nadawca sygnału nawigacyjnego jest używany. Dodawanie nagłówków niestandardowych nie jest obsługiwane w programie IE9 lub starszym.
[{header: string, value: string}] Niezdefiniowane
diagnosticLogInterval

(wewnętrzne) Interwał sondowania (w ms) dla wewnętrznej kolejki rejestrowania
numeryczne 10 000
disableAjaxTracking

Jeśli wartość true, wywołania Ajax nie są automatycznie generowane. Wartość domyślna to „fałsz”.
boolean fałsz
disableCookiesUsage

Wartość domyślna false. Wartość logiczna wskazująca, czy wyłączyć używanie plików cookie przez zestaw SDK. Jeśli to prawda, zestaw SDK nie przechowuje ani nie odczytuje żadnych danych z plików cookie.
(Od wersji 2.6.0) Jeśli cookieCfg.enabled zdefiniowano, ma pierwszeństwo. Użycie plików cookie można ponownie włączyć po zainicjowaniu za pośrednictwem core.getCookieMgr().setEnabled(true).
alias dla cookieCfg.enabled
[Opcjonalnie]
fałsz
disableCorrelationHeaders

Jeśli wartość false, zestaw SDK dodaje dwa nagłówki ('Request-Id' i 'Request-Context') do wszystkich żądań zależności, aby skorelować je z odpowiednimi żądaniami po stronie serwera. Wartość domyślna to „fałsz”.
boolean fałsz
disableDataLossAnalysis

Jeśli wartość false, wewnętrzne bufory nadawcy telemetrii są sprawdzane podczas uruchamiania dla elementów, które nie zostały jeszcze wysłane.
boolean prawda
disableExceptionTracking

Jeśli wartość true, wyjątki nie są automatycznie generowane. Wartość domyślna to „fałsz”.
boolean fałsz
disableFetchTracking

Ustawieniem domyślnym dla disableFetchTracking parametru jest false, co oznacza, że jest włączone. Jednak w wersjach wcześniejszych niż 2.8.10 była domyślnie wyłączona. Gdy jest ustawiona wartość true, żądania pobierania nie są zbierane automatycznie. Ustawienie domyślne zmieniło się z true na false w wersji 2.8.0.
boolean fałsz
disableFlushOnBeforeUnload

Wartość domyślna false. Jeśli wartość true, metoda flush nie jest wywoływana, gdy wyzwalacze zdarzeń onBeforeUnload
boolean fałsz
disableIkeyDeprecationMessage

Wyłącz komunikat o błędzie wycofywania klucza instrumentacji. Jeśli wartość true, komunikaty o błędach NIE są wysyłane.
boolean prawda
disableInstrumentationKeyValidation

Jeśli wartość true, sprawdzanie poprawności klucza instrumentacji zostanie pominięte. Wartość domyślna to false.
boolean fałsz
disableTelemetry

Jeśli wartość true, dane telemetryczne nie są zbierane ani wysyłane. Wartość domyślna to „fałsz”.
boolean fałsz
disableXhr

Domyślnie nie używaj elementu XMLHttpRequest ani XDomainRequest (dla programu IE < 9) zamiast tego spróbuj użyć funkcji fetch() lub sendBeacon. Jeśli żaden inny transport nie jest dostępny, używa elementu XMLHttpRequest
boolean fałsz
distributedTracingMode

Ustawia tryb śledzenia rozproszonego. Jeśli ustawiono tryb AI_AND_W3C lub tryb W3C, nagłówki kontekstu śledzenia W3C (traceparent/tracestate) są generowane i uwzględniane we wszystkich żądaniach wychodzących. AI_AND_W3C zapewnia się zgodność z zapleczem ze wszystkimi starszymi usługami application Szczegółowe informacje instrumentowanych.
numeryczne lub DistributedTracingModes DistributedTracing Modes.AI_AND_W3C
enableAjaxErrorStatusText

Wartość domyślna false. Jeśli wartość true, uwzględnij wartość logiczną tekst danych błędu odpowiedzi w zdarzeniu zależności dla nieudanych żądań AJAX.
boolean fałsz
enableAjaxPerfTracking

Wartość domyślna false. Flaga umożliwiająca wyszukanie w górę i uwzględnienie dodatkowych okien przeglądarki.chronometrażu wydajności w zgłoszonych metrykach Ajax (XHR i fetch).
boolean fałsz
enableAutoRouteTracking

Automatycznie śledź zmiany tras w aplikacjach jednostronicowych (SPA). W przypadku wartości true każda zmiana trasy wysyła nowy widok strony do aplikacji Szczegółowe informacje. Zmiany trasy skrótu (example.com/foo#bar) są również rejestrowane jako nowe widoki stron.
Uwaga: jeśli to pole zostanie włączone, nie włącz history obiektu konfiguracji routera react, ponieważ otrzymasz wiele zdarzeń widoku strony.
boolean fałsz
enableCorsCorrelation

Jeśli wartość true, zestaw SDK dodaje dwa nagłówki ("Request-Id" i "Request-Context") do wszystkich żądań CORS w celu skorelowania wychodzących zależności AJAX z odpowiednimi żądaniami po stronie serwera. Wartość domyślna to false
boolean fałsz
enableDebug

Jeśli to prawda, wewnętrzne dane debugowania są zgłaszane jako wyjątek zamiast rejestrowane, niezależnie od ustawień rejestrowania zestawu SDK. Wartość domyślna to „fałsz”.
Uwaga: włączenie tego ustawienia powoduje usunięcie telemetrii za każdym razem, gdy wystąpi błąd wewnętrzny. Może to być przydatne do szybkiego identyfikowania problemów z konfiguracją lub użyciem zestawu SDK. Jeśli nie chcesz utracić telemetrii podczas debugowania, rozważ użycie funkcji loggingLevelConsole lub loggingLevelTelemetry zamiast enableDebug.
boolean fałsz
enablePerfMgr

Po włączeniu (true) tworzy lokalne perfEvents dla kodu, który został instrumentowany w celu emitowania perfEvents (za pośrednictwem pomocnika doPerf(). Może służyć do identyfikowania problemów z wydajnością w zestawie SDK na podstawie użycia lub opcjonalnie w ramach własnego instrumentowanego kodu.
boolean fałsz
enableRequestHeaderTracking

Jeśli wartość true, nagłówki żądań AJAX i Fetch są śledzone, wartość domyślna to false. Jeśli nagłówki ignoreHeaders nie są skonfigurowane, nagłówki Authorization i X-API-Key nie są rejestrowane.
boolean fałsz
enableResponseHeaderTracking

Jeśli wartość true, nagłówki odpowiedzi żądania AJAX i Fetch są śledzone, wartość domyślna to false. Jeśli element ignoreHeaders nie jest skonfigurowany, nagłówek WWW-Authenticate nie jest rejestrowany.
boolean fałsz
enableSessionStorageBuffer

Wartość domyślna true. Jeśli ma wartość true, bufor ze wszystkimi niesymetrycznymi danymi telemetrycznymi jest przechowywany w magazynie sesji. Bufor jest przywracany podczas ładowania strony
boolean prawda
enableUnhandledPromiseRejectionTracking

Jeśli to prawda, odrzucone obietnice nieobsługiwane są automatycznie generowane jako błąd języka JavaScript. Gdy wartość disableExceptionTracking ma wartość true (nie śledź wyjątków), wartość konfiguracji jest ignorowana i nieobsługiwane odrzucenia obietnicy nie są zgłaszane.
boolean fałsz
eventsLimitInMem

Liczba zdarzeń, które mogą być przechowywane w pamięci, zanim zestaw SDK zacznie usuwać zdarzenia, gdy nie jest używany magazyn sesji (ustawienie domyślne).
Liczba 10 000
excludeRequestFromAutoTrackingPatterns

Podaj sposób wykluczania określonej trasy z automatycznego śledzenia dla żądania XMLHttpRequest lub Fetch. Jeśli jest zdefiniowana, dla żądania Ajax / fetch, że adres URL żądania jest zgodny z wzorcami wyrażeń regularnych, automatyczne śledzenie jest wyłączone. Wartość domyślna jest niezdefiniowana.
string[] | RegExp[] Niezdefiniowane
featureOptIn

Ustaw pozycję Funkcja , aby wyrazić zgodę na szczegółowe informacje.

To pole konfiguracji jest dostępne tylko w wersji 3.0.3 lub nowszej.
IFeatureOptIn Niezdefiniowane
idLength

Określa domyślną długość używaną do generowania nowych losowych sesji i identyfikatorów użytkowników. Wartość domyślna to 22, poprzednia wartość domyślna to 5 (wersja 2.5.8 lub mniejsza), jeśli musisz zachować poprzednią maksymalną długość, należy ustawić wartość 5.
numeryczne 22
ignoreHeaders

Nagłówki żądań i odpowiedzi AJAX i Fetch, które mają być ignorowane w danych dziennika. Aby zastąpić lub odrzucić wartość domyślną, dodaj tablicę ze wszystkimi nagłówkami do wykluczenia lub pustą tablicą do konfiguracji.
string[] ["Authorization", "X-API-Key", "WWW-Authenticate"]
isBeaconApiDisabled

Jeśli wartość false, zestaw SDK wysyła wszystkie dane telemetryczne przy użyciu interfejsu API beacon
boolean prawda
isBrowserLinkTrackingEnabled

Wartość domyślna to „fałsz”. Jeśli to prawda, zestaw SDK śledzi wszystkie żądania linku przeglądarki.
boolean fałsz
isRetryDisabled

Wartość domyślna false. Jeśli wartość false, spróbuj ponownie na 206 (częściowy sukces), 408 (przekroczenie limitu czasu), 429 (zbyt wiele żądań), 500 (błąd wewnętrzny serwera), 503 (usługa niedostępna) i 0 (offline, tylko w przypadku wykrycia)
boolean fałsz
isStorageUseDisabled

Jeśli wartość true, zestaw SDK nie przechowuje ani nie odczytuje żadnych danych z magazynu lokalnego i sesji. Wartość domyślna to „fałsz”.
boolean fałsz
loggingLevelConsole

Rejestruje wewnętrzne błędy Szczegółowe informacje aplikacji w konsoli.
0: wyłączone,
1: Tylko błędy krytyczne,
2: Wszystko (błędy i ostrzeżenia)
numeryczne 0
loggingLevelTelemetry

Wysyła wewnętrzne błędy Szczegółowe informacje aplikacji jako dane telemetryczne.
0: wyłączone,
1: Tylko błędy krytyczne,
2: Wszystko (błędy i ostrzeżenia)
numeryczne 1
maxAjaxCallsPerView

Wartość domyślna 500 — określa liczbę wywołań Ajax monitorowanych w widoku strony. Ustaw wartość -1, aby monitorować wszystkie (nieograniczone) wywołania Ajax na stronie.
numeryczne 500
maxAjaxPerfLookupAttempts

Wartość domyślna to 3. Maksymalna liczba prób wyszukania przedziału czasu.performance (jeśli jest dostępna) jest wymagana. Nie wszystkie przeglądarki wypełniają plik window.performance przed zgłoszeniem końca żądania XHR. W przypadku żądań pobierania jest on dodawany po zakończeniu.
numeryczne 3
maxBatchInterval

Jak długo należy wsadować dane telemetryczne przed wysłaniem (milisekundy)
numeryczne 15000
maxBatchSizeInBytes

Maksymalny rozmiar partii telemetrii. Jeśli partia przekroczy ten limit, zostanie natychmiast wysłana i zostanie uruchomiona nowa partia
numeryczne 10 000
namePrefix

Opcjonalna wartość używana jako postfiks nazwy dla nazwy localStorage i nazwy pliku cookie sesji.
string Niezdefiniowane
onunloadDisableBeacon

Wartość domyślna false. po zamknięciu karty zestaw SDK wysyła wszystkie pozostałe dane telemetryczne przy użyciu interfejsu API beacon
boolean fałsz
onunloadDisableFetch

Jeśli funkcja keepalive pobierania jest obsługiwana, nie używaj jej do wysyłania zdarzeń podczas zwalniania, nadal może wrócić do pobierania() bez utrzymania aktywności
boolean fałsz
overridePageViewDuration

Jeśli to prawda, domyślne zachowanie elementu trackPageView zostanie zmienione na rekord końca interwału czasu trwania widoku strony, gdy element trackPageView jest wywoływany. Jeśli nie podano wartości false i nie podano niestandardowego czasu trwania do śledzenia ElementuPageView, wydajność widoku strony jest obliczana przy użyciu interfejsu API chronometrażu nawigacji. Wartość domyślna to „fałsz”.
boolean fałsz
perfEvtsSendAll

Gdy właściwość enablePerfMgr jest włączona, a menedżer IPerfManager uruchamia zdarzenie INotificationManager.perfEvent() w tej flagi określa, czy zdarzenie jest wyzwalane (i wysyłane do wszystkich odbiorników) dla wszystkich zdarzeń (true) lub tylko dla zdarzeń nadrzędnych (wartość domyślna false<>).
Nadrzędny element IPerfEvent to zdarzenie, w którym żaden inny element IPerfEvent nie jest nadal uruchomiony w momencie utworzenia zdarzenia, a jego właściwość nadrzędna nie ma wartości null ani nie jest niezdefiniowana. Od wersji 2.5.7
boolean fałsz
samplingPercentage

Procent wysyłanych zdarzeń. Wartość domyślna to 100, co oznacza, że wszystkie zdarzenia są wysyłane. Ustaw go, jeśli chcesz zachować limit danych dla aplikacji na dużą skalę.
numeryczne 100
sdkExtension

Ustawia nazwę rozszerzenia zestawu SDK. Dozwolone są tylko znaki alfabetyczne. Nazwa rozszerzenia jest dodawana jako prefiks do tagu "ai.internal.sdkVersion" (na przykład "ext_javascript:2.0.0"). Wartość domyślna to null.
string null
sessionCookiePostfix

Opcjonalna wartość, która jest używana jako postfiks nazwy pliku cookie sesji. Jeśli niezdefiniowany, parametr namePrefix jest używany jako postfiks nazwy pliku cookie sesji.
string Niezdefiniowane
sessionExpirationMs

Sesja jest rejestrowana, jeśli trwała przez ten czas w milisekundach. Wartość domyślna to 24 godziny
numeryczne 86400000
sessionRenewalMs

Sesja jest rejestrowana, jeśli użytkownik jest nieaktywny przez ten czas w milisekundach. Wartość domyślna to 30 minut
numeryczne 1800000
throttleMgrCfg

Ustaw konfigurację programu mgr ograniczania według klucza.

To pole konfiguracji jest dostępne tylko w wersji 3.0.3 lub nowszej.
{[key: number]: IThrottleMgrConfig} Niezdefiniowane
userCookiePostfix

Opcjonalna wartość używana jako postfiks nazwy dla nazwy pliku cookie użytkownika. Jeśli niezdefiniowany, nie dodano żadnego wpisu w nazwie pliku cookie użytkownika.
string Niezdefiniowane

Począwszy od wersji 2.6.0, zestaw SDK aplikacja systemu Azure Szczegółowe informacje JavaScript zapewnia oparte na wystąpieniach zarządzanie plikami cookie, które można wyłączyć i ponownie włączyć po zainicjowaniu.

Jeśli pliki cookie są wyłączone podczas inicjowania przy użyciu disableCookiesUsage konfiguracji lub cookieCfg.enabled , można je ponownie włączyć przy użyciu setEnabled funkcji obiektu ICookieMgr.

Zarządzanie plikami cookie opartymi na wystąpieniach zastępuje poprzednie funkcje globalne CoreUtils , disableCookies()setCookie(), getCookie()i deleteCookie().

Aby skorzystać z ulepszeń drżenia drzewa wprowadzonych w wersji 2.6.0, zaleca się, aby nie używać już funkcji globalnych.

ICookieMgrConfig to konfiguracja plików cookie do zarządzania plikami cookie opartymi na wystąpieniach dodana w wersji 2.6.0. Dostępne opcje umożliwiają włączanie lub wyłączanie używania plików cookie przez zestaw SDK. Można również ustawić niestandardowe domeny plików cookie i ścieżki oraz dostosować funkcje pobierania, ustawiania i usuwania plików cookie.

Opcje ICookieMgrConfig są zdefiniowane w poniższej tabeli.

Nazwisko Typ Domyślny opis
enabled boolean prawda Bieżące wystąpienie zestawu SDK używa tego elementu logicznego, aby wskazać, czy użycie plików cookie jest włączone. Jeśli wartość false, wystąpienie zestawu SDK zainicjowane przez tę konfigurację nie przechowuje ani nie odczytuje żadnych danych z plików cookie.
domena string null Niestandardowa domena plików cookie. Warto udostępnić pliki cookie Szczegółowe informacje aplikacji w poddomenach. Jeśli wartość nie zostanie podana, użyj wartości z wartości głównej cookieDomain .
path string / Określa ścieżkę do użycia dla pliku cookie, jeśli nie podano, że używa żadnej wartości z wartości głównej cookiePath .
ignoreCookies string[] Niezdefiniowane Określ nazwy plików cookie, które mają być ignorowane, powoduje, że dowolna zgodna nazwa pliku cookie nigdy nie będzie odczytywana ani zapisywana. Mogą one być nadal jawnie czyszczone lub usuwane. Nie musisz powtarzać nazwy w blockedCookies konfiguracji. (od wersji 2.8.8)
blockedCookies string[] Niezdefiniowane Określ nazwy plików cookie, które nigdy nie mają być zapisywane. Zapobiega tworzeniu lub aktualizowaniu nazwy pliku cookie, ale można je nadal odczytywać, chyba że są również uwzględniane w elementach ignoreCookies. Mogą być one nadal czyszczone lub usuwane jawnie. Jeśli nie zostanie podana, zostanie ona domyślnie ustawiona na tę samą listę w parametrze ignoreCookies. (Od wersji 2.8.8)
getCookie (name: string) => string null Funkcja pobierania nazwanej wartości pliku cookie, jeśli nie zostanie podana, używa wewnętrznego analizowania/buforowania plików cookie.
setCookie (name: string, value: string) => void null Funkcja ustawiania nazwanego pliku cookie z określoną wartością, wywoływana tylko podczas dodawania lub aktualizowania pliku cookie.
delCookie (name: string, value: string) => void null Funkcja usuwania nazwanego pliku cookie z określoną wartością oddzielona od setCookie, aby uniknąć konieczności analizowania wartości w celu określenia, czy plik cookie jest dodawany, czy usuwany. Jeśli nie zostanie podany, używa wewnętrznego analizowania/buforowania plików cookie.

Mapa źródłowa

Obsługa mapy źródłowej pomaga debugować minyfikowany kod JavaScript z możliwością unminify minified callstack of your exception telemetry.

  • Zgodność ze wszystkimi bieżącymi integracją na panelu Szczegóły wyjątku
  • Obsługuje wszystkie bieżące i przyszłe zestawy SDK języka JavaScript, w tym Node.JS, bez konieczności uaktualniania zestawu SDK

Aplikacja Szczegółowe informacje obsługuje przekazywanie map źródłowych do kontenera obiektów blob konta usługi Azure Storage. Możesz użyć map źródłowych, aby unminify stosy wywołań znalezione na stronie Szczegółów transakcji end-to-end. Możesz również użyć map źródłowych, aby usunąć wszelkie wyjątki wysyłane przez zestaw SDK języka JavaScript lub zestaw Node.js SDK.

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

Tworzenie nowego konta magazynu i kontenera obiektów blob

Jeśli masz już istniejące konto magazynu lub kontener obiektów blob, możesz pominąć ten krok.

  1. Utwórz nowe konto magazynu.

  2. Utwórz kontener obiektów blob na koncie magazynu. Ustaw poziom dostępu publicznego na Prywatny , aby upewnić się, że mapy źródłowe nie są publicznie dostępne.

    Screenshot that shows setting the container access level to Private.

Wypychanie map źródłowych do kontenera obiektów blob

Zintegruj potok ciągłego wdrażania z kontem magazynu, konfigurując go tak, aby automatycznie przekazywać mapy źródłowe do skonfigurowanego kontenera obiektów blob.

Mapy źródłowe można przekazać do kontenera usługi Azure Blob Storage przy użyciu tej samej struktury folderów, z którą zostały skompilowane i wdrożone. Typowym przypadkiem użycia jest prefiks folderu wdrożenia z jego wersją, na przykład 1.2.3/static/js/main.js. Po unminify za pośrednictwem kontenera obiektów blob platformy Azure o nazwie sourcemapspotok próbuje pobrać mapę źródłową znajdującą się w sourcemaps/1.2.3/static/js/main.js.maplokalizacji .

Jeśli używasz usługi Azure Pipelines do ciągłego kompilowania i wdrażania aplikacji, dodaj zadanie kopiowania plików platformy Azure do potoku, aby automatycznie przekazywać mapy źródłowe.

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

Konfigurowanie zasobu Szczegółowe informacje aplikacji przy użyciu źródłowego konta magazynu mapy

Dostępne są dwie opcje konfigurowania zasobu usługi Application Szczegółowe informacje przy użyciu źródłowego konta magazynu mapy.

Karta Szczegóły transakcji kompleksowej

Na karcie Szczegóły transakcji kompleksowej wybierz pozycję Unminify (Unminify). Skonfiguruj zasób, jeśli jest on nieskonfigurowany.

  1. W witrynie Azure Portal wyświetl szczegóły wyjątku, który jest minyfikowany.
  2. Wybierz pozycję Unminify (Unminify).
  3. Jeśli zasób nie jest skonfigurowany, skonfiguruj go.
Karta Właściwości

Aby skonfigurować lub zmienić konto magazynu lub kontener obiektów blob połączony z zasobem aplikacji Szczegółowe informacje:

  1. Przejdź do karty Właściwości zasobu Application Szczegółowe informacje.

  2. Wybierz pozycję Zmień źródłowy kontener obiektów blob mapy.

  3. Wybierz inny kontener obiektów blob jako kontener mapy źródłowej.

  4. Wybierz Zastosuj.

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

Wyświetlanie niezminyfikowanego stosu wywołań

Aby wyświetlić niezminyfikowany stos wywołań, wybierz element Telemetria wyjątków w witrynie Azure Portal, znajdź mapy źródłowe pasujące do stosu wywołań, a następnie przeciągnij i upuść mapy źródłowe do stosu wywołań w witrynie Azure Portal. Mapa źródłowa musi mieć taką samą nazwę jak plik źródłowy ramki stosu, ale z map rozszerzeniem.

Jeśli wystąpią problemy, które obejmują obsługę mapy źródłowej dla aplikacji JavaScript, zobacz Rozwiązywanie problemów z obsługą mapy źródłowej dla aplikacji JavaScript.

Animation demonstrating unminify feature.

Drżenie drzewa

Drżenie drzewa eliminuje nieużywany kod z końcowego pakietu JavaScript.

Aby wykorzystać drżenie drzewa, zaimportuj tylko niezbędne składniki zestawu SDK do kodu. Dzięki temu nieużywany kod nie jest uwzględniony w ostatnim pakiecie, zmniejszając jego rozmiar i zwiększając wydajność.

Ulepszenia i zalecenia dotyczące potrząsania drzewami

W wersji 2.6.0 wycofaliśmy i usunęliśmy wewnętrzne użycie tych statycznych klas pomocniczych, aby poprawić obsługę algorytmów drżenia drzewa. Dzięki temu pakiety npm bezpiecznie upuszczają nieużywany kod.

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

Funkcje są teraz eksportowane jako katalogi główne najwyższego poziomu z modułów, co ułatwia refaktoryzację kodu w celu lepszego potrząsania drzewa.

Klasy statyczne zostały zmienione na obiekty const odwołujące się do nowych wyeksportowanych funkcji, a przyszłe zmiany są planowane do dalszej refaktoryzacji odwołań.

Potrząsanie przestarzałymi funkcjami i zamianami drzewa

Ta sekcja ma zastosowanie tylko wtedy, gdy używasz przestarzałych funkcji i chcesz zoptymalizować rozmiar pakietu. Zalecamy użycie funkcji zastępczych, aby zmniejszyć rozmiar i obsługiwać wszystkie wersje programu Internet Explorer.

Istniejący Zastąpienie
Coreutils @microsoft/applicationinsights-core-js
CoreUtils._canUseCookies Brak. Nie używaj go, ponieważ powoduje, że wszystkie odwołania CoreUtils zostaną uwzględnione w ostatnim kodzie.
Refaktoryzacja obsługi plików cookie w celu ustawienia appInsights.getCookieMgr().setEnabled(true/false) wartości i appInsights.getCookieMgr().isEnabled() sprawdzenia wartości.
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 lub 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
Odwoływanie się do obu powoduje, że odwołania do narzędzi CoreUtils mają być przywołyne w celu zapewnienia zgodności z poprzednimi wersjami.
Refaktoryzacja obsługi plików cookie w celu użycia appInsights.getCookieMgr().setEnabled(false)
CoreUtils.newGuid newGuid
CoreUtils.perfNow narzędzie 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.isInternalApplication Szczegółowe informacje Endpoint isInternalApplication Szczegółowe informacje Endpoint
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
Odwoływanie się do obu powoduje, że odwołania do narzędzi CoreUtils mają być przywołyne w celu zapewnienia zgodności z poprzednimi wersjami.
Refaktoryzacja obsługi plików cookie w celu użycia appInsights.getCookieMgr().setEnabled(false)
Util.canUseCookies canUseCookies
Odwoływanie się do obu powoduje, że odwołania do narzędzi CoreUtils mają być przywołyne w celu zapewnienia zgodności z poprzednimi wersjami.
Refaktoryzacja obsługi plików cookie w celu użycia appInsights.getCookieMgr().isEnabled()
Util.disallowsSameSiteNone uaDisallowsSameSiteNone
Util.setCookie coreSetCookie
Odwoływanie się powoduje odwołanie do narzędzi CoreUtils w celu zapewnienia zgodności z poprzednimi wersjami.
Refaktoryzacja obsługi plików cookie w celu użycia appInsights.getCookieMgr().set(name: string, value: string)
Util.stringToBoolOrDefault stringToBoolOrDefault
Util.getCookie coreGetCookie
Odwoływanie się powoduje odwołanie do narzędzi CoreUtils w celu zapewnienia zgodności z poprzednimi wersjami.
Refaktoryzacja obsługi plików cookie w celu użycia appInsights.getCookieMgr().get(name: string)
Util.deleteCookie coreDeleteCookie
Odwoływanie się powoduje odwołanie do narzędzi CoreUtils w celu zapewnienia zgodności z poprzednimi wersjami.
Refaktoryzacja obsługi plików cookie w celu użycia appInsights.getCookieMgr().del(name: string, path?: string)
Util.trim strTrim
Util.newId Newid
Util.random32 ---
Brak zamiany, refaktoryzacja kodu w celu użycia rdzenia 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
Połączenie ionStringParser @microsoft/applicationinsights-common-js
Połączenie ionStringParser.parse parse Połączenie ionString

Powiadomienia dotyczące usług

Powiadomienia o usłudze to funkcja wbudowana w zestaw SDK, która udostępnia rekomendacje umożliwiające podejmowanie działań, aby zapewnić nieprzerwane przepływy telemetrii do Szczegółowe informacje aplikacji. Powiadomienia będą wyświetlane jako komunikat o wyjątku w aplikacji Szczegółowe informacje. Upewniamy się, że powiadomienia są istotne dla Ciebie na podstawie ustawień zestawu SDK i dostosowujemy szczegółowość na podstawie pilności zalecenia. Zalecamy pozostawienie powiadomień o usłudze, ale możesz zrezygnować z featureOptIn konfiguracji. Poniżej znajduje się lista aktywnych powiadomień.

Obecnie żadne aktywne powiadomienia nie są wysyłane.

Rozwiązywanie problemów

Zobacz dedykowany artykuł dotyczący rozwiązywania problemów.

Często zadawane pytania

Ta sekcja zawiera odpowiedzi na typowe pytania.

Jak zaktualizować konfigurację serwera innej firmy dla zestawu SDK języka JavaScript?

Po stronie serwera musi być możliwe akceptowanie połączeń z tymi nagłówkami. W zależności Access-Control-Allow-Headers od konfiguracji po stronie serwera często konieczne jest rozszerzenie listy po stronie serwera przez ręczne dodanie Request-Idnagłówka rozproszonego , Request-Contexti traceparent (W3C).

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

Jak wyłączyć śledzenie rozproszone dla zestawu JAVAScript SDK?

Śledzenie rozproszone można wyłączyć w konfiguracji.

Czy odpowiedzi HTTP 502 i 503 są zawsze przechwytywane przez aplikację Szczegółowe informacje?

L.p. Błędy "Zła brama 502" i "Usługa 503 niedostępne" nie zawsze są przechwytywane przez usługę Application Szczegółowe informacje. Jeśli do monitorowania jest używany tylko język JavaScript po stronie klienta, takie zachowanie byłoby oczekiwane, ponieważ odpowiedź o błędzie jest zwracana przed stroną zawierającą nagłówek HTML z renderowany fragmentem kodu JavaScript monitorowania.

Jeśli odpowiedź 502 lub 503 została wysłana z serwera z włączonym monitorowaniem po stronie serwera, błędy są zbierane przez zestaw SDK usługi Application Szczegółowe informacje.

Nawet jeśli monitorowanie po stronie serwera jest włączone na serwerze internetowym aplikacji, czasami błąd 502 lub 503 nie jest przechwytywany przez aplikację Szczegółowe informacje. Wiele nowoczesnych serwerów internetowych nie zezwala klientowi na bezpośrednią komunikację. Zamiast tego stosują rozwiązania, takie jak odwrotne serwery proxy, w celu przekazywania informacji między klientem a serwerami internetowymi frontonu.

W tym scenariuszu odpowiedź 502 lub 503 może zostać zwrócona do klienta z powodu problemu w odwrotnej warstwie serwera proxy, więc nie jest przechwytywana poza ramką przez aplikację Szczegółowe informacje. Aby ułatwić wykrywanie problemów w tej warstwie, może być konieczne przekazanie dzienników z zwrotnego serwera proxy do usługi Log Analytics i utworzenie reguły niestandardowej w celu sprawdzenia odpowiedzi 502 lub 503. Aby dowiedzieć się więcej o typowych przyczynach błędów 502 i 503, zobacz Rozwiązywanie problemów z błędami HTTP "zła brama" i "Usługa 503 niedostępna" w usłudze aplikacja systemu Azure.

Następne kroki