Ladění založené na datech s využitím diagramu úloh

Diagram úloh v okně Monitorování na webu Azure Portal vám může pomoct s vizualizací kanálu úloh. Zobrazuje vstupy, výstupy a kroky dotazu. Diagram úloh můžete použít ke zkoumání metrik pro jednotlivé kroky, abyste při řešení potíží mohli rychleji izolovat zdroj problému.

Použití diagramu úlohy

Na webu Azure Portal v úloze Stream Analytics v části PODPORA a ŘEŠENÍ POTÍŽÍ vyberte Diagram úlohy:

Job diagram with metrics - location

Výběrem jednotlivých kroků dotazu zobrazíte odpovídající oddíl v podokně pro úpravy dotazu. Graf metrik pro krok se zobrazí v dolním podokně na stránce.

Job diagram with metrics - basic job

Pokud chcete zobrazit oddíly vstupu služby Azure Event Hubs, vyberte . . . Zobrazí se místní nabídka. Můžete se také podívat na vstupní fúze.

Job diagram with metrics - expand partition

Pokud chcete zobrazit graf metrik pouze pro jeden oddíl, vyberte uzel oddílu. Metriky se zobrazují v dolní části stránky.

Job diagram with metrics - more metrics

Pokud chcete zobrazit graf metrik pro sloučení, vyberte uzel fúze. Následující graf ukazuje, že nedošlo k vyřazení ani úpravě událostí.

Job diagram with metrics - grid

Pokud chcete zobrazit podrobnosti o hodnotě a času metriky, nasměrujte na graf.

Job diagram with metrics - hover

Řešení potíží s využitím metrik

Metrika QueryLastProcessedTime označuje, kdy konkrétní krok přijal data. Když se podíváte na topologii, můžete z výstupního procesoru pracovat zpětně a zjistit, který krok nepřijímá data. Pokud krok nesčítá data, přejděte těsně před ním do kroku dotazu. Zkontrolujte, jestli předchozí krok dotazu obsahuje časové okno a jestli je dostatek času pro výstup dat. (Všimněte si, že časová okna jsou přichycená k hodině.)

Pokud je předchozí krok dotazu vstupním procesorem, použijte vstupní metriky, které vám pomůžou zodpovědět následující cílové otázky. Můžou vám pomoct určit, jestli úloha získává data ze vstupních zdrojů. Pokud je dotaz dělený, zkontrolujte všechny oddíly.

Kolik dat se čte?

  • InputEventsSourcesTotal je počet přečtených datových jednotek. Například počet objektů blob.
  • InputEventsTotal je počet přečtených událostí. Tato metrika je dostupná pro jednotlivé oddíly.
  • InputEventsInBytesTotal je počet přečtených bajtů.
  • InputEventsLastArrivalTime se aktualizuje o čas zařazení každé přijaté události do fronty.

Posunuje se čas dopředu? V případě načtení skutečných událostí nemuselo dojít k přerušení.

  • InputEventsLastPunctuationTime udává, kdy došlo k přerušení pro zajištění dopředného běhu času. Pokud interpunkční znaména nevystavíte, tok dat se může zablokovat.

Došlo ve vstupu k nějakým chybám?

  • InputEventsEventDataNullTotal je počet událostí, které mají data null.
  • InputEventsSerializerErrorsTotal je počet událostí, které nelze správně deserializovat.
  • InputEventsDegradedTotal je počet událostí, které měly jiný problém než při deserializaci.

Dochází k vyřazení nebo úpravě událostí?

  • InputEventsEarlyTotal je počet událostí, které mají časové razítko aplikace před vysokým vodoznakem.
  • InputEventsLateTotal je počet událostí, které mají časové razítko aplikace za vysokým vodoznakem.
  • InputEventsDroppedBeforeApplicationStartTimeTotal je počet událostí vynechaných před časem spuštění úlohy.

Zaostáváme za čtením dat?

  • V backlogu vstupních událostí (celkem) zjistíte, kolik dalších zpráv je potřeba číst pro vstupy služby Event Hubs a Azure IoT Hub. Pokud je toto číslo větší než 0, znamená to, že vaše úloha nemůže zpracovat data tak rychle, jak přichází. V takovém případě možná budete muset zvýšit počet jednotek streamování nebo se ujistit, že je možné úlohu paralelizovat. Další informace o tom najdete na stránce paralelizace dotazu.

Získání pomoci

Pokud potřebujete další pomoc, vyzkoušejte naši stránku pro otázky Microsoftu pro Azure Stream Analytics.

Další kroky