Отладка на основе данных с помощью схемы заданийData-driven debugging by using the job diagram

Схема заданий в колонке Мониторинг на портале Azure может вам помочь визуализировать конвейер заданий.The job diagram on the Monitoring blade in the Azure portal can help you visualize your job pipeline. На ней представлены сведения о входных и выходных данных, а также о шагах запроса.It shows inputs, outputs, and query steps. С помощью схемы заданий можно проанализировать метрики на каждом шаге, чтобы быстро выявить источник проблемы при устранении неполадок.You can use the job diagram to examine the metrics for each step, to more quickly isolate the source of a problem when you troubleshoot issues.

Использование схемы заданийUsing the job diagram

На портале Azure в задании Stream Analytics в разделе Поддержка и устранение неполадок выберите Схема заданий:In the Azure portal, while in a Stream Analytics job, under SUPPORT + TROUBLESHOOTING, select Job diagram:

Схема заданий с метриками — расположение

Выберите каждый шаг запроса, чтобы отобразить соответствующий раздел в области изменения запроса.Select each query step to see the corresponding section in a query editing pane. В нижней области на странице отображается диаграмма метрик для шага.A metric chart for the step is displayed in a lower pane on the page.

Схема заданий с метриками — базовое задание

Для просмотра разделов входных данных Центров событий Azure выберите ...To see the partitions of the Azure Event Hubs input, select . . . Откроется контекстное меню.A context menu appears. Кроме того, отобразится инструмент слияния входных данных.You also can see the input merger.

Схема заданий с метриками — развертывание раздела

Чтобы просмотреть схему с метриками для одного раздела, выберите его узел.To see the metric chart for only a single partition, select the partition node. Метрики отображаются в нижней части страницы.The metrics are shown at the bottom of the page.

Схема заданий с метриками — дополнительные метрики

Чтобы увидеть схему метрик для слияния, выберите узел слияния.To see the metrics chart for a merger, select the merger node. На следующей схеме видно, что события не были удалены или скорректированы.The following chart shows that no events were dropped or adjusted.

Схема заданий с метриками — сетка

Чтобы просмотреть значения метрик и время, наведите указатель мыши на схему.To see the details of the metric value and time, point to the chart.

Схема заданий с метриками — наведение

Устранение неполадок с помощью метрикTroubleshoot by using metrics

Метрика QueryLastProcessedTime указывает, на каком конкретном шаге были переданы данные.The QueryLastProcessedTime metric indicates when a specific step received data. Учитывая топологию, вы можете проанализировать обратный процесс выполнения (начиная от обработчика выходных данных), чтобы понять, на каком шаге данные не передаются.By looking at the topology, you can work backward from the output processor to see which step is not receiving data. Если данные на шаге не передавались, перейдите к шагу запроса перед текущим шагом.If a step is not getting data, go to the query step just before it. Проверьте, задано ли на предыдущем шаге запроса временное окно и достаточно ли было времени для вывода данных.Check whether the preceding query step has a time window, and if enough time has passed for it to output data. Учтите, что временные окна имеют почасовую привязку.(Note that time windows are snapped to the hour.)

Если на предыдущем этапе не обрабатываются входящие данные, используйте входные метрики, чтобы получить ответ на следующие вопросыIf the preceding query step is an input processor, use the input metrics to help answer the following targeted questions. о заданиях, получающих данные из источников входных данных.They can help you determine whether a job is getting data from its input sources. Если запрос разделен, проверьте каждый раздел.If the query is partitioned, examine each partition.

Какой объем данных считывается?How much data is being read?

  • InputEventsSourcesTotal содержит число прочитанных единиц данных,InputEventsSourcesTotal is the number of data units read. например больших двоичных объектов.For example, the number of blobs.
  • Метрика InputEventsTotal содержит число прочитанных событий.InputEventsTotal is the number of events read. Эта метрика доступна для каждого раздела.This metric is available per partition.
  • Метрика InputEventsInBytesTotal содержит число прочитанных байтов.InputEventsInBytesTotal is the number of bytes read.
  • Метрика InputEventsLastArrivalTime обновляется после размещения в очереди каждого полученного события.InputEventsLastArrivalTime is updated with every received event's enqueued time.

Отсчитывается ли время?Is time moving forward? Если фактические события считываются, знаки препинания могут быть опущены.If actual events are read, punctuation might not be issued.

  • Метрика InputEventsLastPunctuationTime указывает, когда знаки препинания используются для отсчета времени.InputEventsLastPunctuationTime indicates when a punctuation was issued to keep time moving forward. Поток данных может быть заблокирован, если знаки препинания будут опущены.If punctuation is not issued, data flow can get blocked.

Есть ли ошибки во входных данных?Are there any errors in the input?

  • Метрика InputEventsEventDataNullTotal содержит число событий со значением null.InputEventsEventDataNullTotal is a count of events that have null data.
  • Метрика InputEventsSerializerErrorsTotal содержит число событий, десериализацию которых удалось выполнить правильно.InputEventsSerializerErrorsTotal is a count of events that could not be deserialized correctly.
  • Метрика InputEventsDegradedTotal содержит число событий, в которых возникла ошибка, не связанная с десериализацией.InputEventsDegradedTotal is a count of events that had an issue other than with deserialization.

Были ли события удалены или скорректированы?Are events being dropped or adjusted?

  • Метрика InputEventsEarlyTotal содержит число событий с меткой времени для приложения до верхнего предела.InputEventsEarlyTotal is the number of events that have an application timestamp before the high watermark.
  • Метрика InputEventsLateTotal содержит число событий с меткой времени для приложения после верхнего предела.InputEventsLateTotal is the number of events that have an application timestamp after the high watermark.
  • Метрика InputEventsDroppedBeforeApplicationStartTimeTotal содержит число событий, удаленных до начала выполнения задания.InputEventsDroppedBeforeApplicationStartTimeTotal is the number events dropped before the job start time.

Есть ли непрочитанные данные?Are we falling behind in reading data?

  • Метрика Итого отложенных входных событий сообщает, сколько сообщений должен прочитать концентратор событий, и указывает входные данные Центра Интернета вещей Azure.Input Events Backlogged (Total) tells you how many more messages need to be read for Event Hubs and Azure IoT Hub inputs. Если это число больше 0, это означает, что задание не может обработать данные по мере их поступления.When this number is greater than 0, it means your job can't process the data as fast as it is coming in. В таком случае попробуйте увеличить число единиц потоковой передачи и (или) проверьте, может ли задание выполняться параллельно.In this case you may need to increase the number of Streaming Units and/or make sure your job can be parallelized. См. дополнительные сведения о параллелизации запросов.You can see more info on this on the query parallelization page.

Получить справкуGet help

Для получения дополнительной помощи воспользуйтесь страницей вопросов и ответов о Microsoft Azure Stream Analytics.For additional assistance, try our Microsoft Q&A question page for Azure Stream Analytics.

Дальнейшие действияNext steps