Konfiguracja zestawu SDK javaScript usługi Microsoft Azure Monitor Application Insights
Zestaw SDK języka JavaScript usługi aplikacja systemu Azure Insights udostępnia 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} | niezdefiniowany |
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 |
niezdefiniowany |
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) |
niezdefiniowany |
cookieDomain Niestandardowa domena plików cookie. Warto udostępnić pliki cookie usługi Application Insights 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 usługi Application Insights 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[] | niezdefiniowany |
correlationHeaderExcludedDomains Wyłączanie nagłówków korelacji dla określonych domen |
string[] | niezdefiniowany |
correlationHeaderExcludePatterns Wyłączanie nagłówków korelacji przy użyciu wyrażeń regularnych |
wyrażenie regularne[] | niezdefiniowany |
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: IAppInsightsCore, notificationManager: INotificationManager) => IPerfManager | niezdefiniowany |
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}] |
niezdefiniowany |
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 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 Internet Explorer < w wersji 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 instrumentowanych w usłudze Application Insights. |
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 usługi Application Insights. 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[] | niezdefiniowany |
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 | niezdefiniowany |
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 usługi Application Insights 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 usługi Application Insights 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 | niezdefiniowany |
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 | niezdefiniowany |
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} |
niezdefiniowany |
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 | niezdefiniowany |
Zarządzanie plikami cookie
Począwszy od wersji 2.6.0, zestaw SDK języka JavaScript usługi aplikacja systemu Azure Insights zapewnia zarządzanie plikami cookie opartymi na wystąpieniach, 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.
Konfiguracja pliku cookie
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 usługi Application Insights 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[] | niezdefiniowany | 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[] | niezdefiniowany | 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
Łączenie z kontem usługi Blob Storage
Usługa Application Insights 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 SDK Node.js.
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.
Utwórz nowe konto magazynu.
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.
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 sourcemaps
potok próbuje pobrać mapę źródłową znajdującą się w sourcemaps/1.2.3/static/js/main.js.map
lokalizacji .
Przekazywanie map źródłowych za pośrednictwem usługi Azure Pipelines (zalecane)
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.
Konfigurowanie zasobu usługi Application Insights przy użyciu źródłowego konta magazynu mapy
Dostępne są dwie opcje konfigurowania zasobu usługi Application Insights 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.
- W witrynie Azure Portal wyświetl szczegóły wyjątku, który jest minyfikowany.
- Wybierz pozycję Unminify (Unminify).
- 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 usługi Application Insights:
Przejdź do karty Właściwości zasobu usługi Application Insights.
Wybierz pozycję Zmień źródłowy kontener obiektów blob mapy.
Wybierz inny kontener obiektów blob jako kontener mapy źródłowej.
Wybierz Zastosuj.
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.
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.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 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 |
ConnectionStringParser | @microsoft/applicationinsights-common-js |
ConnectionStringParser.parse | parseConnectionString |
Powiadomienia dotyczące usług
Powiadomienia o usłudze to funkcja wbudowana w zestaw SDK, która udostępnia zalecenia umożliwiające podejmowanie działań, aby zapewnić nieprzerwane przepływy telemetrii w usłudze Application Insights. Powiadomienia będą wyświetlane jako komunikat o wyjątku w usłudze Application Insights. 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-Id
nagłówka rozproszonego , Request-Context
i 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 usługę Application Insights?
L.p. Błędy "Zła brama 502" i "Usługa 503 niedostępne" nie zawsze są przechwytywane przez usługę Application Insights. 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 Insights.
Nawet jeśli monitorowanie po stronie serwera jest włączone na serwerze internetowym aplikacji, czasami błąd 502 lub 503 nie jest przechwytywany przez usługę Application Insights. 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 usługę Application Insights. 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.