Data-driven debugging by using the job diagram (Debugowanie oparte na danych za pomocą diagramu zadań)
Diagram zadań w bloku Monitorowanie w witrynie Azure Portal może pomóc w wizualizacji potoku zadań. Pokazuje wejścia, wyjścia i kroki zapytania. Za pomocą diagramu zadań można sprawdzać metryki dla poszczególnych kroków, aby szybciej ustalić źródło problemu podczas rozwiązywania problemów.
Korzystanie z diagramu zadań
W witrynie Azure Portal, podczas gdy w zadaniu usługi Stream Analytics w obszarze POMOC TECHNICZNA i ROZWIĄZYWANIE PROBLEMÓW wybierz pozycję Diagram zadania:
Wybierz każdy krok zapytania, aby wyświetlić odpowiednią sekcję w okienku edycji zapytania. Wykres metryki dla kroku jest wyświetlany w dolnym okienku na stronie.
Aby wyświetlić partycje danych wejściowych usługi Azure Event Hubs, wybierz pozycję . . . Zostanie wyświetlone menu kontekstowe. Można również zobaczyć połączenie danych wejściowych.
Aby wyświetlić wykres metryki tylko dla jednej partycji, wybierz węzeł partycji. Metryki są wyświetlane w dolnej części strony.
Aby wyświetlić wykres metryk dla połączenia, wybierz węzeł fuzji. Na poniższym wykresie pokazano, że żadne zdarzenia nie zostały usunięte ani skorygowane.
Aby wyświetlić szczegóły wartości i czasu metryki, wskaż wykres.
Rozwiązywanie problemów przy użyciu metryk
Metryka QueryLastProcessedTime wskazuje, kiedy określony krok otrzymał dane. Patrząc na topologię, można pracować wstecz z procesora wyjściowego, aby zobaczyć, który krok nie odbiera danych. Jeśli krok nie uzyskuje danych, przejdź do kroku zapytania tuż przed nim. Sprawdź, czy poprzedni krok zapytania ma przedział czasu i czy minęło wystarczająco dużo czasu, aby dane wyjściowe zostały przekazane. (Należy pamiętać, że okna czasowe są przyciągane do godziny).
Jeśli poprzedni krok zapytania jest procesorem wejściowym, użyj metryk wejściowych, aby uzyskać odpowiedzi na następujące pytania docelowe. Mogą one pomóc w ustaleniu, czy zadanie pobiera dane ze źródeł wejściowych. Jeśli zapytanie jest podzielone na partycje, sprawdź każdą partycję.
Ile danych jest odczytywanych?
- InputEventsSourcesTotal to liczba odczytanych jednostek danych. Na przykład liczba obiektów blob.
- InputEventsTotal to liczba odczytanych zdarzeń. Ta metryka jest dostępna dla każdej partycji.
- InputEventsInBytesTotal jest liczbą odczytanych bajtów.
- InputEventsLastArrivalTime jest aktualizowany przy użyciu czasu w kolejce każdego odebranego zdarzenia.
Czy czas idzie do przodu? Jeśli są odczytywane rzeczywiste zdarzenia, wyróżnienie może nie być wystawiane.
- Metryka InputEventsLastPunctuationTime wskazuje, kiedy wyróżnienie zostało wystawione, aby czas płynął do przodu. Jeśli interpunkcja nie zostanie wystawiona, przepływ danych może być zablokowany.
Czy w danych wejściowych występują błędy?
- InputEventsEventDataNullTotal to liczba zdarzeń, które mają dane o wartości null.
- InputEventsSerializerErrorsTotal jest liczbą zdarzeń, których nie można poprawnie zdeserializować.
- InputEventsDegradedTotal to liczba zdarzeń, które miały problem inny niż z deserializacji.
Czy zdarzenia są usuwane lub dostosowywane?
- InputEventsEarlyTotal to liczba zdarzeń, które mają sygnaturę czasową aplikacji przed wysokim znakiem wodnym.
- InputEventsLateTotal to liczba zdarzeń, które mają sygnaturę czasową aplikacji po wysokim znaku wodnym.
- InputEventsDroppedBeforeApplicationStartTimeTotal to liczba zdarzeń porzuconych przed godziną rozpoczęcia zadania.
Czy spadamy z tyłu podczas odczytywania danych?
- Zdarzenia wejściowe Backlogged (suma) informują o liczbie komunikatów, które muszą być odczytywane dla danych wejściowych usługi Event Hubs i usługi Azure IoT Hub. Jeśli ta liczba jest większa niż 0, oznacza to, że zadanie nie może przetworzyć danych tak szybko, jak się pojawi. W takim przypadku może być konieczne zwiększenie liczby jednostek przesyłania strumieniowego i/lub upewnienie się, że zadanie może być równoległe. Więcej informacji na ten temat można znaleźć na stronie przetwarzania równoległego zapytań.
Uzyskaj pomoc
Aby uzyskać dodatkową pomoc, wypróbuj stronę pytań i odpowiedzi firmy Microsoft dotyczącą usługi Azure Stream Analytics.