Wyszukiwanie transakcji to funkcja usługi Application Insights , która służy do znajdowania i eksplorowania poszczególnych elementów telemetrii, takich jak widoki stron, wyjątki lub żądania internetowe. Możesz również wyświetlić ślady dzienników i zdarzenia, które kodujesz.
Aby uzyskać bardziej złożone zapytania dotyczące danych, użyj usługi Log Analytics.
Gdzie widzisz pozycję Wyszukaj?
Wyszukiwanie można znaleźć w witrynie Azure Portal lub programie Visual Studio.
W witrynie Azure Portal
Wyszukiwanie transakcji można otworzyć na karcie Przegląd usługi Application Insights aplikacji. Możesz również wybrać pozycję Wyszukaj w obszarze Zbadaj w menu po lewej stronie.
Przejdź do menu rozwijanego Typy zdarzeń, aby wyświetlić listę elementów telemetrii, takich jak żądania serwera, widoki stron i zakodowane zdarzenia niestandardowe. W górnej części listy Wyniki znajduje się wykres podsumowania przedstawiający liczbę zdarzeń w czasie.
Wycofaj się z menu rozwijanego lub wybierz pozycję Odśwież , aby pobrać nowe zdarzenia.
W programie Visual Studio
W programie Visual Studio znajduje się również okno wyszukiwania usługi Application Insights. Najbardziej przydatne jest wyświetlanie zdarzeń telemetrii generowanych przez aplikację, którą debugujesz. Może również wyświetlać zdarzenia zebrane z opublikowanej aplikacji w witrynie Azure Portal.
Otwórz okno Wyszukiwanie w usłudze Application Insights w programie Visual Studio:
Okno wyszukiwania usługi Application Insights zawiera funkcje podobne do portalu internetowego:
Karta Śledzenie operacji jest dostępna po otwarciu żądania lub widoku strony. "operacja" to sekwencja zdarzeń skojarzonych z pojedynczym żądaniem lub widokiem strony. Na przykład wywołania zależności, wyjątki, dzienniki śledzenia i zdarzenia niestandardowe mogą być częścią pojedynczej operacji. Karta Śledzenie operacji przedstawia graficznie czas i czas trwania tych zdarzeń w odniesieniu do widoku żądania lub strony.
Sprawdzanie poszczególnych elementów
Wybierz dowolny element telemetrii, aby wyświetlić pola klucza i powiązane elementy.
Zostanie otwarty widok szczegółów transakcji kompleksowej.
Filtrowanie typów zdarzeń
Otwórz menu rozwijane Typy zdarzeń i wybierz typy zdarzeń, które chcesz zobaczyć. Jeśli chcesz przywrócić filtry później, wybierz pozycję Resetuj.
Typy zdarzeń to:
- Śledzenie: dzienniki diagnostyczne, w tym TrackTrace, log4Net, NLog i System.Diagnostic.Trace.
- Żądanie: żądania HTTP odebrane przez aplikację serwera, w tym strony, skrypty, obrazy, pliki stylów i dane. Te zdarzenia służą do tworzenia wykresów przeglądu żądania i odpowiedzi.
- Widok strony: dane telemetryczne wysyłane przez klienta internetowego używane do tworzenia raportów widoku strony.
- Zdarzenie niestandardowe: jeśli wstawiono wywołania do
TrackEvent()
monitorowania użycia, możesz je wyszukać tutaj.
- Wyjątek: nieuchwycone wyjątki na serwerze oraz wyjątki rejestrowane przy użyciu polecenia
TrackException()
.
- Zależność: wywołania z aplikacji serwera do innych usług, takich jak interfejsy API REST lub bazy danych, oraz wywołania AJAX z kodu klienta.
- Dostępność: Wyniki testów dostępności
Filtrowanie wartości właściwości
Zdarzenia można filtrować według wartości ich właściwości. Dostępne właściwości zależą od wybranych typów zdarzeń. Wybierz pozycję Filtr, aby rozpocząć.
Wybranie wartości określonej właściwości nie ma takiego samego efektu, jak wybranie wszystkich wartości. Wyłącza filtrowanie dla tej właściwości.
Zwróć uwagę, że liczby z prawej strony wartości filtru pokazują, ile wystąpień znajduje się w bieżącym filtrowanych zestawach.
Znajdowanie zdarzeń z tą samą właściwością
Aby znaleźć wszystkie elementy o tej samej wartości właściwości, wprowadź ją w polu Wyszukiwania lub zaznacz pole wyboru podczas przeglądania właściwości na karcie Filtr .
Wyszukiwanie danych
Uwaga
Aby napisać bardziej złożone zapytania, otwórz pozycję Dzienniki (analiza) w górnej części okienka Wyszukiwania .
Terminy można wyszukiwać w dowolnej wartości właściwości. Ta funkcja jest przydatna w przypadku zapisywania zdarzeń niestandardowych z wartościami właściwości.
Możesz ustawić zakres czasu, ponieważ wyszukiwanie w krótszym zakresie jest szybsze.
Wyszukaj pełne wyrazy, a nie podciąg. Użyj cudzysłowów, aby ująć znaki specjalne.
String |
Nie znaleziono |
Założyć |
HomeController.About |
home
controller
out |
homecontroller
about
"homecontroller.about" |
Stany Zjednoczone |
Uni
ted |
united
states
united AND states
"united states" |
Możesz użyć następujących wyrażeń wyszukiwania:
Przykładowe zapytanie |
Efekt |
apple |
Znajdź wszystkie zdarzenia w zakresie czasu, którego pola zawierają wyraz apple . |
apple AND banana
apple banana |
Znajdź zdarzenia zawierające oba wyrazy. Użyj kapitału AND , a nie and . Krótka forma. |
apple OR banana |
Znajdź zdarzenia zawierające dowolny wyraz. Użyj polecenia OR , a nie or . |
apple NOT banana |
Znajdź zdarzenia zawierające jedno słowo, ale nie drugie. |
Próbkowanie
Jeśli aplikacja generuje znaczące dane telemetryczne i używa zestawu SDK ASP.NET w wersji 2.0.0.0-beta3 lub nowszej, automatycznie zmniejsza wolumin wysyłany do portalu za pomocą próbkowania adaptacyjnego. Ten moduł wysyła tylko reprezentatywny ułamek zdarzeń. Wybiera lub usuwa zaznaczenie zdarzeń związanych z tym samym żądaniem co grupa, co pozwala na przechodzenie między powiązanymi zdarzeniami.
Dowiedz się więcej o próbkowaniu.
Utwórz element roboczy
Usterkę można utworzyć w usłudze GitHub lub Azure DevOps ze szczegółami z dowolnego elementu telemetrii.
Przejdź do widoku szczegółów transakcji kompleksowej, wybierając dowolny element telemetrii. Następnie wybierz pozycję Utwórz element roboczy.
Przy pierwszym kroku zostanie wyświetlony monit o skonfigurowanie linku do organizacji i projektu usługi Azure DevOps. Możesz również skonfigurować link na karcie Elementy robocze.
Wysyłanie większej ilości danych telemetrycznych do usługi Application Insights
Oprócz gotowej telemetrii wysyłanej przez zestaw SDK usługi Application Insights można wykonywać następujące czynności:
Przechwyć ślady dzienników z ulubionej struktury rejestrowania na platformie .NET lub w języku Java. Oznacza to, że można przeszukiwać ślady dziennika i korelować je z widokami stron, wyjątkami i innymi zdarzeniami.
Napisz kod do wysyłania zdarzeń niestandardowych, widoków stron i wyjątków.
Dowiedz się, jak wysyłać dzienniki i niestandardowe dane telemetryczne do usługi Application Insights.
Często zadawane pytania
Znajdź odpowiedzi na często zadawane pytania.
Ile danych jest przechowywanych?
Zobacz podsumowanie Limity.
Jak wyświetlić dane POST w żądaniach serwera?
Nie rejestrujemy danych POST automatycznie, ale możesz użyć funkcji TrackTrace lub wywołań dziennika. Umieść dane POST w parametrze komunikatu. Nie można filtrować komunikatu w taki sam sposób, jak w przypadku właściwości, ale limit rozmiaru jest dłuższy.
Dlaczego wyszukiwanie funkcji platformy Azure nie zwraca żadnych wyników?
Usługa Azure Functions nie rejestruje ciągów zapytań adresu URL.
Ujednolicone środowisko diagnostyki automatycznie koreluje dane telemetryczne po stronie serwera ze wszystkich monitorowanych składników usługi Application Insights w jeden widok. Nie ma znaczenia, czy masz wiele zasobów. Usługa Application Insights wykrywa relację bazową i umożliwia łatwe diagnozowanie składnika aplikacji, zależności lub wyjątku, które spowodowały spowolnienie lub niepowodzenie transakcji.
Co to jest składnik?
Składniki są niezależnie wdrażanymi częściami aplikacji rozproszonej lub mikrousługi. Deweloperzy i zespoły operacyjne mają widoczność na poziomie kodu lub dostęp do danych telemetrycznych generowanych przez te składniki aplikacji.
- Składniki różnią się od "obserwowanych" zależności zewnętrznych, takich jak sql i event hubs, do których zespół lub organizacja może nie mieć dostępu (kod lub telemetria).
- Składniki są uruchamiane na dowolnej liczbie wystąpień serwera, roli lub kontenera.
- Składniki mogą być oddzielnymi kluczami instrumentacji usługi Application Insights, nawet jeśli subskrypcje są różne. Składniki mogą być również różnymi rolami, które zgłaszają jeden klucz instrumentacji usługi Application Insights. Nowe środowisko zawiera szczegółowe informacje dotyczące wszystkich składników, niezależnie od sposobu ich konfigurowania.
Uwaga
Czy brakuje linków powiązanych elementów? Wszystkie powiązane dane telemetryczne znajdują się po lewej stronie w górnej i dolnej sekcji.
Środowisko diagnostyki transakcji
Ten widok ma cztery kluczowe części:
- lista wyników
- wykres transakcji między składnikami
- lista sekwencji czasu wszystkich danych telemetrycznych związanych z tą operacją
- okienko szczegółów dla dowolnego wybranego elementu telemetrii
Wykres transakcji między składnikami
Ten wykres zawiera oś czasu z poziomymi słupkami podczas żądań i zależności między składnikami. Wszystkie zbierane wyjątki są również oznaczone na osi czasu.
- Górny wiersz na tym wykresie reprezentuje punkt wejścia. Jest to żądanie przychodzące do pierwszego składnika wywoływanego w tej transakcji. Czas trwania to całkowity czas potrzebny na ukończenie transakcji.
- Wszystkie wywołania zależności zewnętrznych są prostymi niekollapowalnymi wierszami z ikonami reprezentującymi typ zależności.
- Wywołania do innych składników to zwijane wiersze. Każdy wiersz odpowiada określonej operacji wywoływanej w składniku.
- Domyślnie wybrane żądanie, zależność lub wyjątek pojawia się po stronie. Wybierz dowolny wiersz, aby wyświetlić jego szczegóły.
Uwaga
Wywołania do innych składników mają dwa wiersze. Jeden wiersz reprezentuje wywołanie ruchu wychodzącego (zależność) ze składnika wywołującego. Drugi wiersz odpowiada żądaniu przychodzącemu w wywołaniu składnika. Ikona wiodąca i odrębne style pasków czasu trwania pomagają je odróżnić.
Wszystkie dane telemetryczne z tym identyfikatorem operacji
W tej sekcji przedstawiono widok listy płaskiej w sekwencji czasowej wszystkich danych telemetrycznych związanych z tą transakcją. Przedstawia również zdarzenia niestandardowe i ślady, które nie są wyświetlane na wykresie transakcji. Tę listę można filtrować w celu telemetrii wygenerowanej przez określony składnik lub wywołanie. Możesz wybrać dowolny element telemetrii na tej liście, aby wyświetlić odpowiednie szczegóły po stronie.
Szczegóły wybranej telemetrii
To zwijane okienko zawiera szczegóły dowolnego wybranego elementu z wykresu transakcji lub listy. Pokaż wszystkie listy wszystkich atrybutów standardowych, które są zbierane. Wszystkie atrybuty niestandardowe są wyświetlane oddzielnie w zestawie standardowym. Wybierz przycisk wielokropka (...) w oknie śledzenia stosu wywołań, aby uzyskać opcję skopiowania śladu. Otwórz ślady profilera i otwórz migawkę debugowania, aby wyświetlić diagnostykę na poziomie kodu w odpowiednich okienkach szczegółów.
Wyniki wyszukiwania
To zwijane okienko pokazuje inne wyniki spełniające kryteria filtrowania. Wybierz dowolny wynik, aby zaktualizować odpowiednie szczegóły poprzednich trzech sekcji. Staramy się znaleźć próbki, które najprawdopodobniej mają dostępne szczegóły ze wszystkich składników, nawet jeśli próbkowanie działa w dowolnym z nich. Te przykłady są wyświetlane jako sugestie.
Profiler i snapshot Debugger
Application Insights Profiler lub Snapshot Debugger pomagają w diagnostyce wydajności i awarii na poziomie kodu. Dzięki temu środowisku można zobaczyć ślady lub migawki profilera z dowolnego składnika z jednym wyborem.
Jeśli nie możesz uzyskać pracy profilera, skontaktuj się z .serviceprofilerhelp@microsoft.com
Jeśli nie możesz uzyskać pracy programu Snapshot Debugger, skontaktuj się z .snapshothelp@microsoft.com
Często zadawane pytania
Ta sekcja zawiera odpowiedzi na typowe pytania.
Dlaczego na wykresie widzę jeden składnik, a inne składniki są wyświetlane tylko jako zależności zewnętrzne bez żadnych szczegółów?
Potencjalne przyczyny:
- Czy inne składniki są instrumentowane za pomocą usługi Application Insights?
- Czy korzystają z najnowszego stabilnego zestawu SDK usługi Application Insights?
- Jeśli te składniki są oddzielnymi zasobami usługi Application Insights, sprawdź, czy masz dostęp.
Jeśli masz dostęp i składniki są instrumentowane przy użyciu najnowszych zestawów SDK usługi Application Insights, daj nam znać za pośrednictwem kanału opinii w prawym górnym rogu.
Widzę zduplikowane wiersze dla zależności. Czy to zachowanie jest oczekiwane?
Obecnie wyświetlane jest wywołanie zależności ruchu wychodzącego oddzielone od żądania przychodzącego. Zazwyczaj dwa wywołania wyglądają identycznie, a tylko wartość czasu trwania różni się z powodu rundy sieciowej. Ikona wiodąca i odrębne style pasków czasu trwania pomagają je odróżnić. Czy ta prezentacja danych jest myląca? Prześlij nam swoją opinię!
Co z niesymetrycznością zegara w różnych wystąpieniach składników?
Osie czasu są dostosowywane dla niesymetryczności zegara na wykresie transakcji. Dokładne znaczniki czasu można zobaczyć w okienku szczegółów lub przy użyciu usługi Log Analytics.
Wynika to z ustawienia fabrycznego. Wszystkie powiązane elementy we wszystkich składnikach są już dostępne po lewej stronie w górnej i dolnej sekcji. Nowe środowisko ma dwa powiązane elementy, których lewa strona nie obejmuje: wszystkie dane telemetryczne z pięciu minut przed i po tym zdarzeniu oraz oś czasu użytkownika.
Czy istnieje sposób, aby zobaczyć mniej zdarzeń na transakcję, gdy używam zestawu SDK języka JavaScript usługi Application Insights?
Środowisko diagnostyki transakcji pokazuje wszystkie dane telemetryczne w jednej operacji , która współudzieli identyfikator operacji. Domyślnie zestaw SDK usługi Application Insights dla języka JavaScript tworzy nową operację dla każdego unikatowego widoku strony. W aplikacji jednostronicowej (SPA) generowane jest tylko jedno zdarzenie widoku strony, a dla wszystkich generowanych danych telemetrycznych jest używany pojedynczy identyfikator operacji. W związku z tym wiele zdarzeń może być skorelowanych z tą samą operacją.
W tych scenariuszach możesz użyć automatycznego śledzenia tras, aby automatycznie utworzyć nowe operacje nawigacji w SPA. Należy włączyć funkcję EnableAutoRouteTracking , aby widok strony był generowany za każdym razem, gdy trasa adresu URL jest aktualizowana (występuje widok strony logicznej). Jeśli chcesz ręcznie odświeżyć identyfikator operacji, wywołaj metodę appInsights.properties.context.telemetryTrace.traceID = Microsoft.ApplicationInsights.Telemetry.Util.generateW3CId()
. Ręczne wyzwalanie zdarzenia PageView powoduje również zresetowanie identyfikatora operacji.
Dlaczego czasy trwania szczegółów transakcji nie są dodawane do czasu trwania żądania najwyższego poziomu?
Czas, który nie został wyjaśniony na wykresie Gantta, to czas, który nie jest objęty śledzonej zależności. Ten problem może wystąpić, ponieważ wywołania zewnętrzne nie zostały instrumentowane automatycznie lub ręcznie. Może się to również zdarzyć, ponieważ czas potrzebny był w procesie, a nie z powodu wywołania zewnętrznego.
Jeśli wszystkie wywołania zostały instrumentowane, proces jest prawdopodobną główną przyczyną czasu spędzonego. Przydatnym narzędziem do diagnozowania procesu jest profiler usługi Application Insights.
Co zrobić, jeśli podczas nawigowania po usłudze Application Insights w witrynie Azure Portal jest wyświetlany komunikat Błąd podczas pobierania danych?
Wskazuje on, że przeglądarka nie mogła wywołać wymaganego interfejsu API lub interfejs API zwrócił odpowiedź wskazującą na niepowodzenie. Aby rozwiązać problemy z zachowaniem, otwórz okno przeglądarki InPrivate i wyłącz wszystkie uruchomione rozszerzenia przeglądarki, a następnie zidentyfikuj, czy nadal możesz odtworzyć zachowanie portalu. Jeśli błąd portalu nadal występuje, spróbuj przetestować inne przeglądarki lub inne maszyny, zbadaj problemy związane z systemem DNS lub inną siecią z maszyny klienckiej, na której wywołania interfejsu API kończą się niepowodzeniem. Jeśli błąd portalu będzie kontynuowany i wymaga dokładniejszego zbadania, zbierz ślad sieci przeglądarki podczas odtwarzania nieoczekiwanego zachowania portalu, a następnie otwórz zgłoszenie do pomocy technicznej w witrynie Azure Portal.