Diagnostyka zapytań

Dzięki diagnostyce zapytań możesz lepiej zrozumieć, co robi dodatek Power Query podczas tworzenia i odświeżania w programie Power BI Desktop. Chociaż w przyszłości będziemy rozszerzać tę funkcję, w tym dodawać możliwość korzystania z niej podczas pełnych odświeżeń, w tym czasie możesz użyć jej do zrozumienia, jakiego rodzaju zapytania emitujesz, jakie spowolnienie może wystąpić podczas odświeżania tworzenia i jakiego rodzaju zdarzenia w tle są wykonywane.

Aby użyć diagnostyki zapytań, przejdź do karty Narzędzia na wstążce edytora Power Query.

Diagnostyka zapytań.

Domyślnie diagnostyka zapytań może wymagać uprawnień administracyjnych do uruchomienia (w zależności od zasad IT). Jeśli nie możesz uruchomić diagnostyki zapytań, otwórz stronę opcji usługi Power BI, a następnie na karcie Diagnostyka wybierz pozycję Włącz w Edytor Power Query (nie wymaga uruchomienia jako administrator). To zaznaczenie ogranicza możliwość śledzenia diagnostyki podczas pełnego odświeżania w usłudze Power BI, a nie edytora Power Query, ale umożliwia nadal korzystanie z niego podczas wyświetlania podglądu, tworzenia itd.

Opcje diagnostyki zapytań.

Za każdym razem, gdy rozpoczniesz diagnostykę, dodatek Power Query rozpoczyna śledzenie wszelkich przyczyn oceny. Ocena, o której większość użytkowników myśli, to naciśnięcie przycisku odświeżenia lub pobranie danych po raz pierwszy, ale istnieje wiele akcji, które mogą powodować oceny, w zależności od łącznika. Na przykład przy użyciu łącznika SQL podczas pobierania listy wartości do filtrowania, to również spowoduje rozpoczęcie oceny — ale nie powoduje skojarzenia z zapytaniem użytkownika i jest reprezentowane w diagnostyce. Inne zapytania generowane przez system mogą obejmować nawigator lub środowisko pobierania danych.

Po naciśnięciu przycisku Diagnozuj krok dodatek Power Query uruchamia specjalną ocenę tylko kroku, na którym patrzysz. Następnie zostanie wyświetlona diagnostyka tego kroku bez wyświetlania diagnostyki innych kroków w zapytaniu. Może to znacznie ułatwić uzyskanie wąskiego wglądu w problem.

Należy pamiętać, że jeśli rejestrujesz wszystkie ślady z menu Rozpocznij diagnostykę, naciśnij pozycję Zatrzymaj diagnostykę. Zatrzymanie diagnostyki umożliwia aparatowi zbieranie zarejestrowanych śladów i analizowanie ich do odpowiednich danych wyjściowych. Bez tego kroku utracisz ślady.

Typy diagnostyki

Obecnie udostępniamy trzy typy diagnostyki, z których jeden ma dwa poziomy szczegółowości.

Pierwsza z tych diagnostyki to podstawowa diagnostyka, która ma szczegółowy widok i widok podsumowany. Podsumowany widok ma na celu zapewnienie natychmiastowego wglądu w to, gdzie jest poświęcany czas w zapytaniu. Szczegółowy widok jest znacznie bardziej szczegółowy, liniowy według wiersza i jest ogólnie potrzebny tylko do poważnego diagnozowania przez użytkowników zasilania.

W tym widoku niektóre funkcje, takie jak kolumna Zapytanie źródła danych, są obecnie dostępne tylko dla niektórych łączników. Będziemy pracować nad rozszerzeniem zakresu tego pokrycia w przyszłości.

Partycje prywatności danych zapewniają lepsze zrozumienie partycji logicznych używanych do ochrony prywatności danych.

Uwaga

Dodatek Power Query może wykonywać oceny, które mogły nie zostać bezpośrednio wyzwolone. Niektóre z tych ocen są wykonywane w celu pobrania metadanych, dzięki czemu możemy najlepiej zoptymalizować nasze zapytania lub zapewnić lepsze środowisko użytkownika (takie jak pobieranie listy unikatowych wartości w kolumnie wyświetlanej w środowisku Filtrowanie wierszy). Inne mogą być związane ze sposobem obsługi równoległych ocen przez łącznik. Jeśli jednocześnie zobaczysz w diagnostyce zapytań powtarzające się zapytania, których nie uważasz za sensowne, możesz skontaktować się z normalnymi kanałami pomocy technicznej — twoja opinia jest sposobem ulepszania naszego produktu.

Widok podsumowany a szczegółowy

Diagnostyka zapytań udostępnia dwa widoki: podsumowane i szczegółowe. Podsumowany widok "zwija" wiele powiązanych operacji w jedną operację. W tym procesie są łączone szczegóły zebrane przez każdą operację, a czasy trwania wyłącznych są sumowane. W ramach tego procesu nie zostaną utracone żadne informacje.

Widok podsumowany zawiera omówienie tego, co miało miejsce podczas oceny w celu łatwego przeglądu wysokiego poziomu. Jeśli dla określonej operacji jest poszukiwany dalszy podział, użytkownik może przyjrzeć się identyfikatorowi grupy i wyświetlić odpowiednie operacje pogrupowane w widoku szczegółów.

Objaśnienie wielu ocen

Podczas odświeżania w edytorze Power Query istnieje wiele czynności w tle, aby spróbować zapewnić płynne środowisko użytkownika. Na przykład podczas odświeżania wersji zapoznawczej ewaluator wykona ostatni krok każdego danego zapytania. Ale następnie w tle sekwencyjnie uruchamia n-1 kroki, n-2, kroki itd., aby po powrocie do kroków było już dostępne.

Aby zapewnić wyższą wydajność, obecnie niektóre buforowanie jest wykonywane tak, aby nie trzeba było ponownie uruchamiać każdej części końcowego planu zapytania, ponieważ przechodzi z powrotem przez kroki. Chociaż to buforowanie jest przydatne w przypadku normalnego tworzenia, oznacza to, że nie zawsze uzyskasz poprawne informacje dotyczące porównania kroków z powodu późniejszych ocen ściągających dane w pamięci podręcznej.

Schemat diagnostyczny

Id

Podczas analizowania wyników nagrania ważne jest, aby filtrować sesję nagrywania według identyfikatora, aby kolumny takie jak Wyłączny czas trwania % mają sens.

Identyfikator jest identyfikatorem złożonym. Składa się z dwóch liczb — jednej przed kropką i jednej po. Pierwsza liczba jest taka sama dla wszystkich ocen, które wynikały z jednej akcji użytkownika. Innymi słowy, jeśli dwukrotnie naciśniesz odświeżenie, będą istnieć dwie różne liczby prowadzące kropkę, po jednym dla każdego podjętego działania użytkownika. To numerowanie jest sekwencyjne dla danego nagrania diagnostycznego.

Druga liczba reprezentuje ocenę przez aparat. Ta liczba jest sekwencyjny dla okresu istnienia procesu, w którym ocena jest kolejkowana. Jeśli uruchomisz wiele sesji nagrywania diagnostyki, ta liczba będzie nadal rosła w różnych sesjach.

Podsumowując, jeśli rozpoczniesz nagrywanie, naciśnij raz i zatrzymasz nagrywanie, będziesz mieć pewną liczbę identyfikatorów w diagnostyce. Ale ponieważ wykonałeś tylko jedną akcję, wszystkie będą miały wartość 1.1, 1.2, 1.3 itd.

Kombinacja activityId i evaluationId, oddzielona kropką, zawiera unikatowy identyfikator oceny pojedynczej sesji nagrywania.

Query

Nazwa zapytania w okienku po lewej stronie edytora Power Query.

Krok

Nazwa kroku w okienku po prawej stronie edytora Power Query. Listy rozwijane filtrów zwykle kojarzą się z krokiem, w którym filtrujesz, nawet jeśli nie odświeżasz kroku.

Kategoria

Kategoria operacji.

Rodzaj źródła danych

Informuje to, do jakiego źródła danych uzyskujesz dostęp, takiego jak SQL lub Oracle.

Operacja

Wykonywana jest rzeczywista operacja. Ta operacja może obejmować pracę ewaluatora, otwieranie połączeń, wysyłanie zapytań do źródła danych i wiele innych.

Godzina rozpoczęcia

Czas rozpoczęcia operacji.

Godzina zakończenia

Godzina zakończenia operacji.

Wyłączny czas trwania (%)

Kolumna Wyłączny czas trwania zdarzenia to czas, przez jaki zdarzenie było aktywne. Kontrastuje to z wartością "duration", która wynika z odejmowania wartości w kolumnie Godzina rozpoczęcia zdarzenia i w kolumnie Godzina zakończenia. Ta wartość "czas trwania" reprezentuje całkowity czas, który upłynął między rozpoczęciem zdarzenia a zakończeniem, co może obejmować czas, w którym zdarzenie było w stanie wstrzymania lub nieaktywnego, a inne zdarzenie zużywało zasoby.

Wyłączny czas trwania % sumuje się do około 100% w ramach danej oceny, co jest reprezentowane przez kolumnę Id. Jeśli na przykład filtrujesz wiersze o identyfikatorze 1.x, wartości procentowe czasu trwania wyłącznego będą wynosić około 100%. Nie jest tak, jeśli zsumujesz wartości Exclusive Duration % wszystkich wierszy w danej tabeli diagnostycznej.

Wyłączny czas trwania

Czas bezwzględny, a nie %, wyłącznego czasu trwania. Łączny czas trwania (czyli wyłączny czas trwania i czas, kiedy zdarzenie było nieaktywne) oceny można obliczyć na jeden z dwóch sposobów:

  • Znajdź operację o nazwie "Ocena". Różnica między czasem zakończenia i czasem rozpoczęcia powoduje całkowity czas trwania zdarzenia.

  • Odejmowanie minimalnej godziny rozpoczęcia wszystkich operacji w zdarzeniu z maksymalnego czasu zakończenia. Należy pamiętać, że w przypadkach, gdy informacje zebrane dla zdarzenia nie odpowiadają całkowitemu czasowi trwania, operacja o nazwie "Luki śledzenia" jest generowana w celu uwzględnienia tej przerwy czasowej.

Zasób

Zasób, do którego uzyskujesz dostęp do danych. Dokładny format tego zasobu zależy od źródła danych.

Zapytanie dotyczące źródła danych

Dodatek Power Query wykonuje coś nazywane składaniem, co jest działaniem uruchamiania jak największej liczby części zapytania względem źródła danych zaplecza, jak to możliwe. W trybie direct query (za pośrednictwem dodatku Power Query), w którym włączono, tylko przekształcenia, które składają się będą uruchamiane. W trybie importu przekształcenia, których nie można składać, będą uruchamiane lokalnie.

Kolumna Zapytanie źródła danych umożliwia wyświetlenie zapytania lub żądania HTTP/odpowiedzi wysłanego względem źródła danych zaplecza. Podczas tworzenia zapytania w edytorze będzie emitowanych wiele zapytań źródła danych. Niektóre z nich to rzeczywiste końcowe zapytanie źródła danych do renderowania podglądu, ale inne mogą dotyczyć profilowania danych, list rozwijanych filtrów, informacji na temat sprzężeń, pobierania metadanych dla schematów i dowolnej liczby innych małych zapytań.

Ogólnie rzecz biorąc, nie należy przejmować się liczbą zapytań źródła danych emitowanych, chyba że istnieją konkretne powody, które należy zaniepokoić. Zamiast tego należy skupić się na upewnieniu się, że pobierana jest właściwa zawartość. Ta kolumna może również pomóc określić, czy ocena dodatku Power Query została w pełni złożona.

Dodatkowe informacje

Istnieje wiele informacji pobieranych przez nasze łączniki. Wiele z niego jest poszarpane i nie pasuje dobrze do standardowej hierarchii kolumn. Te informacje są umieszczane w rekordzie w dodatkowej kolumnie informacji. Informacje rejestrowane z łączników niestandardowych również są wyświetlane tutaj.

Liczba wierszy

Liczba wierszy zwracanych przez zapytanie źródła danych. Nie włączono dla wszystkich łączników.

Długość zawartości

Długość zawartości zwracana przez żądania HTTP, zgodnie z definicją powszechnie zdefiniowaną. Nie jest to włączone we wszystkich łącznikach i nie będzie dokładne w przypadku łączników, które pobierają żądania we fragmentach.

Czy zapytanie użytkownika

Wartość logiczna wskazująca, czy jest to kwerenda utworzona przez użytkownika i obecna w okienku po lewej stronie lub czy została wygenerowana przez inną akcję użytkownika. Inne akcje użytkownika mogą obejmować takie elementy jak wybór filtru lub korzystanie z nawigatora w środowisku pobierania danych.

Ścieżka

Ścieżka reprezentuje względną trasę operacji, która jest widoczna jako część drzewa interwałów dla wszystkich operacji w ramach pojedynczej oceny. W górnej części drzewa znajduje się jedna operacja o nazwie Ocena ze ścieżką "0". Godzina rozpoczęcia tej oceny odpowiada rozpoczęciu tej oceny jako całości. Godzina zakończenia tej oceny jest wyświetlana po zakończeniu całej oceny. Ta operacja najwyższego poziomu ma wyłączny czas trwania 0, ponieważ jej jedynym celem jest służyć jako pierwiastek drzewa.

Dalsza gałąź operacji z katalogu głównego. Na przykład operacja może mieć wartość "0/1/5" jako ścieżkę. Ta ścieżka byłaby rozumiana jako:

  • 0: katalog główny drzewa
  • 1: element nadrzędny bieżącej operacji
  • 5: indeks bieżącej operacji

Operacja "0/1/5" może mieć węzeł podrzędny, w tym przypadku ścieżka ma postać "0/1/5/8", z 8 reprezentującymi indeks podrzędny.

Identyfikator grupy

Połączenie dwóch (lub więcej) operacji nie będzie występować, jeśli prowadzi do utraty szczegółów. Grupowanie jest przeznaczone do przybliżonych "poleceń" wykonywanych podczas oceny. W widoku szczegółowym wiele operacji współużytkuje identyfikator grupy odpowiadający grupom zagregowanym w widoku Podsumowanie.

Podobnie jak w przypadku większości kolumn, identyfikator grupy jest istotny tylko w ramach określonej oceny, zgodnie z filtrem według kolumny Id.

Schemat partycji prywatności danych

Id

Taki sam jak identyfikator innych wyników diagnostyki zapytania. Część całkowita reprezentuje pojedynczy identyfikator działania, a część ułamkowa reprezentuje pojedynczą ocenę.

Klucz partycji

Odpowiada zapytaniu/kroku używanemu jako partycja zapory.

Grupa zapory

Kategoryzacja wyjaśnia, dlaczego ta partycja musi być oceniana oddzielnie, w tym szczegółowe informacje na temat poziomu prywatności partycji.

Dostęp do zasobów

Lista ścieżek zasobów dla wszystkich zasobów, do których uzyskuje dostęp ta partycja, i jest ogólnie unikatowa identyfikowanie źródła danych.

Partycjonowanie danych wejściowych

Lista kluczy partycji, od których zależy bieżąca partycja (ta lista może służyć do tworzenia grafu).

Wyrażenie

Wyrażenie, które jest oceniane na podstawie zapytania/kroku partycji. W kilku przypadkach zbiega się to z zapytaniem/krokiem.

Godzina rozpoczęcia

Czas rozpoczęcia oceny dla tej partycji.

Godzina zakończenia

Czas zakończenia oceny dla tej partycji.

Czas trwania

Wartość pochodząca z godziny zakończenia pomniejszona o godzinę rozpoczęcia.

Wyłączny czas trwania

Jeśli zakłada się, że partycje są wykonywane w jednym wątku, wyłączny czas trwania to "rzeczywisty" czas trwania, który można przypisać do tej partycji.

Wyłączny czas trwania %

Wyłączny czas trwania jako wartość procentowa.

Diagnostyka

Ta kolumna jest wyświetlana tylko wtedy, gdy zostanie przechwycona diagnostyka zapytania "Zagregowana" lub "Szczegółowa", umożliwiając użytkownikowi odpowiadanie między dwoma danymi wyjściowymi diagnostyki.

Schemat liczników wydajności

Po uruchomieniu liczników wydajności co pół sekundy dodatku Power Query tworzy migawkę wykorzystania zasobów. Ta migawka nie jest przydatna w przypadku bardzo szybkich zapytań, ale może być przydatna w przypadku zapytań, które wykorzystują o wiele więcej zasobów.

% czasu procesora

Procent czasu spędzonego przez procesory w zapytaniu. Ta wartość procentowa może osiągnąć powyżej 100% z powodu wielu procesorów.

Łączny czas procesora

Całkowity czas trwania procesora spędzony na zapytaniu.

Bajty danych we/wy na sekundę

Szybkość przepływności danych odebranych ze źródła danych wyrażona w bajtach na sekundę.

Zatwierdzanie (bajty)

Ilość pamięci wirtualnej zarezerwowanej przez ocenę.

Zestaw roboczy (bajty)

Ilość pamięci zarezerwowanej przez ocenę.

Materiały uzupełniające

Jak rejestrować diagnostykę w różnych przypadkach użycia

Więcej informacji na temat odczytywania i wizualizowania zarejestrowanych śladów

Jak zrozumieć, jakie operacje zapytań są składane przy użyciu diagnostyki zapytań