Udostępnij za pośrednictwem


Debugowanie aplikacji opartych na modelu za pomocą narzędzia Monitorowanie na żywo

Narzędzie Monitorowania na żywo może pomóc w debugowaniu i diagnozowaniu problemów oraz pomóc w tworzeniu szybszych i bardziej niezawodnych aplikacji. Narzędzie Monitorowania na żywo zapewnia głęboki wgląd w sposób działania aplikacji, udostępniając dziennik wszystkich kluczowych działań w aplikacji podczas jej pracy. Można także wspólnie debugować opublikowane aplikacje oparte na modelu u inżyniera pomocy technicznej lub debugować problemy z sesji innego użytkownika. Aby uzyskać więcej informacji na temat wspólnego debugowania opublikowanej aplikacji sterowanej modelem, przejdź do tematu Wspólne rozwiązywanie problemów przy użyciu monitora na żywo.

Ważne

Monitor na żywo dla aplikacji sterowanej modelem wymaga, aby wersja klienta Twojej aplikacji sterowanej modelem była 1.4.5973-2307.2 lub nowsza.

Aby uzyskać więcej informacji o tym, kiedy należy monitorować aplikację, zobacz Omówienie narzędzia Monitor. Aby uruchomić narzędzie Monitorowania na żywo w aplikacji kanwy, zobacz Debugowanie aplikacji kanwy za pomocą narzędzia Monitorowania na żywo.

Używanie narzędzia Monitorowania na żywo do diagnozowania aplikacji opartej na modelu

  1. Zaloguj się w usłudze Power Apps, a następnie w lewym okienku nawigacyjnym kliknij przycisk Aplikacje.

  2. Wybierz aplikację opartą na modelu, którą chcesz monitorować, a następnie na pasku poleceń wybierz Monitorowanie na żywo.

  3. Na otwartej stronie internetowej wybierz pozycję Odtwórz aplikację opartą na modelu, aby otworzyć aplikację.

    Polecenie Odtwórz aplikację opartą na modelu.

    Notatka

    Alternatywnie można uruchomić aplikację opartą na modelu i dodać wyrażenie „&monitor=true” na końcu adresu URL w przeglądarce. Następnie na pasku poleceń wybierz pozycję Monitorowanie na żywo, aby rozpocząć sesję monitorowania na nowej karcie.

  4. Po otwarciu aplikacji z narzędzia Monitorowania na żywo zostanie wyświetlone okno dialogowe Dołączyć do sesji debugowania monitora?. Dzięki temu wiadomo, że wszelkie dane z aplikacji zostaną wysłane do właściciela narzędzia Monitorowania na żywo. Wybierz Dołącz. Zdarzenia zaczynają przepływać do ekranu sesji narzędzia Monitorowania na żywo na bieżąco, gdy występują w aplikacji.

    Sesja narzędzia Monitorowania na żywo z wyświetlanymi zdarzeniami.

  5. Wybierz zdarzenie, a dodatkowe informacje pojawią się w prawym okienku.

    Więcej informacji wyświetlanych w prawym okienku.

Monitorowane zdarzenia

Czynności nawigowania po stronie, wykonywania poleceń, zapisywania formularzy i inne główne akcje będą powodowały wysyłanie kluczowych wskaźników wydajności i zdarzenia sieciowych do narzędzia Monitorowania na żywo.

FullLoad

Zdarzenie FullLoad wskazuje pełne załadowanie elementów nawigacyjnych strony, na przykład podczas edytowania formularza. To zdarzenie czeka na zakończenie niektórych żądań sieciowych i całego renderowania, tak aby formularz był gotowy przed wykonaniem zdarzenia FullLoad.

Zdarzenie Fullload.

Wybierz zdarzenie FullLoad, a pojawi się karta Szczegóły.

Szczegóły zdarzenia Fulload.

Zdarzenie FullLoad przechwytuje wiele statystyk dotyczących ładowania strony.  Jak widać, zadanie edytowania formularza zostało załadowane w 506 ms, a zaznaczenie wiersza spowoduje wyświetlenie informacji w okienku właściwości.  Widać szczegółowe informacje takie jak customScriptTime (czas spędzony na wykonaniu niestandardowego kodu języka JavaScript), loadType(0 = typ strony załadowanej po raz pierwszy, 1 = encja załadowana po raz pierwszy, 2 = rekord załadowany po raz pierwszy, 3 = dokładna liczba razy odwiedzenia rekordu) oraz FormId(identyfikator formularza do dalszej diagnostyki).    Rozwinięcie węzła Przypisanie spowoduje wyświetlenie podziału czasu wykonywania niestandardowego kodu JS według typu, wydawcy, rozwiązania, wersji, zasobu internetowego i metody.  Może to pomóc w zidentyfikowaniu wąskich gardeł wydłużających czas ładowania formularza.

Sieć

Zdarzenia w sekcji Sieć ujawniają szczegóły każdego żądania wysłanego z aplikacji.

Zdarzenie sieciowe.

Wybierz zdarzenie Sieć, a pojawi się karta Szczegóły.

Szczegóły zdarzenia Sieć.

Wcześniej opisaliśmy narzędzie Monitorowania na żywo i jego używanie w aplikacjach opartych na modelach. Przyjrzyjmy się kilku scenariuszom, w których narzędzie Monitorowania na żywo może pomóc w rozwiązywaniu problemów z błędami skryptów, nieoczekiwanymi zachowaniami i spowolnieniami.

Błędy niestandardowych skryptów

Czasami błąd w niestandardowym kodzie źródłowym JS powoduje błąd skryptu lub problem z funkcjonalnością podczas ładowania strony. Chociaż zwykle powoduje to utworzenie stosu wywołań w oknie dialogowym, nie zawsze wiadomo, skąd błąd pochodzi albo co błąd znaczy. Narzędzie Monitorowania na żywo odbiera zdarzenia z aplikacji z większą ilością szczegółów o błędach, dzięki czemu można debugować szybciej i łatwiej.

Załóżmy na przykład, że użytkownikowi jest wyświetlane okno dialogowe błędu skryptu podczas ładowania formularza klienta.  Możesz użyć narzędzia Monitorowania na żywo, aby uzyskać więcej informacji na temat zdarzenia.  Po odtworzeniu scenariusza widać, że błąd skryptu powoduje wygenerowanie zdarzenia błędu wyróżnionego na czerwono. Zaznaczenie tego wiersza spowoduje wyświetlenie nie tylko informacji stos wywołań, ale również informacji nazwa wydawcy, nazwa/wersja rozwiązania, nazwa zasobu internetowego i typ (np. onload, onchange, RuleEvaluation i CustomControl). W tym przykładzie wygląda na to, że w skrypcie zrobiono literówkę.

Przykład błędu niestandardowego skryptu.

Słaba wydajność

Narzędzia dla deweloperów przeglądarek mogą ułatwić powolne ładowanie stron, ale ich filtrowanie zapewnia wiele danych. Nie jest jasne, co należy zrobić. Narzędzie Monitorowania na żywo rozwiązuje ten problem, pokazując zdarzenia przyczyniające się do słabej wydajności ładowania stron.

Załóżmy na przykład, że użytkownikowi wolno się ładują formularze klientów i przeglądarka stale się zawiesza. W takim przypadku po odtworzeniu problemu widać ostrzeżenie o wydajności informujące, że podczas ładowania zostało wysłane synchroniczne żądanie XMLHttpRequest, które obniżyło wydajność.

Przykład słabej wydajności.

Zobacz poprzedni wpis w blogu, aby się dowiedzieć, jak złagodzić problemy z wydajnością powodowane synchronicznymi żądaniami XMLHttpRequest (XHR).

Dla każdej operacji ładowania strony platforma danych wysyła wszystkie kluczowe wskaźniki wydajności dotyczące sekwencji ładowania, a także wspomniano wcześniej szczegóły żądania sieciowego.

Zobacz też

Używanie narzędzia Monitorowania na żywo do rozwiązywania problemów z zachowaniem formularzy aplikacji opartych na modelu