Debug guidato dai dati mediante il diagramma di processo

Il diagramma di processo nel pannello Monitoraggio del portale di Azure consente di visualizzare la pipeline di processo. Mostra gli input, gli output e i passaggi delle query. È possibile usare il diagramma di processo per esaminare le metriche per ogni passaggio, al fine di isolare più rapidamente l'origine di un problema durante la sua risoluzione.

Uso del diagramma di processo

Nel portale di Azure, durante un processo di Analisi di flusso, sotto SUPPORTO E RISOLUZIONE DEI PROBLEMI selezionare Diagramma del processo:

Diagramma di processo con metriche - posizione

Selezionare ciascun passaggio della query per vedere la sezione corrispondente nel riquadro di modifica query. Viene visualizzato il grafico della metrica relativo al passaggio in un riquadro inferiore della pagina.

Diagramma di processo con metriche - processo di base

Per vedere le partizioni dell'input di Hub eventi di Azure, selezionare ... Si apre il menu di scelta rapida. È possibile vedere anche la fusione dell'input.

Diagramma di processo con metriche - espandere la partizione

Per vedere il grafico delle metrica per una singola partizione, selezionare il nodo della partizione. Le metriche sono visualizzate nella parte inferiore della pagina.

Diagramma di processo con metriche - altre metriche

Per vedere il grafico delle metriche per una fusione, selezionare il nodo della fusione. Il diagramma seguente mostra che nessun evento è stato eliminato o regolato.

Diagramma di processo con metriche - griglia

Per vedere i dettagli del valore e ora delle metriche, puntare sul grafico.

Diagramma di processo con metriche - puntare con il mouse

Risolvere i problemi mediante le metriche

La metrica QueryLastProcessedTime indica quando un determinato passaggio ha ricevuto dati. Osservando la topologia, è possibile procedere a ritroso dal processore di output per vedere quale passaggio non riceve dati. Se un passaggio non riceve dati, andare al passaggio di query subito prima. Controllare se il passaggio di query precedente ha un intervallo di tempo e se è trascorso un tempo sufficiente perché possa emettere dati. (Notare che gli intervalli di tempo vengono bloccati all'ora).

Se il passaggio di query precedente è un processore di input, usare le metriche di input per rispondere alle seguenti domande mirate. Esse consentono di determinare se un processo sta ricevendo dati dalle sue origini di input. Se viene eseguito il partizionamento della query, esaminare ogni partizione.

Quanti dati vengono letti?

  • InputEventsSourcesTotal è il numero di unità di dati lette. Ad esempio il numero di BLOB.
  • InputEventsTotal è il numero di eventi letti. Questa metrica è disponibile per ogni partizione.
  • InputEventsInBytesTotal è il numero di byte letti.
  • InputEventsLastArrivalTime viene aggiornato con l'ora di accodamento di ogni evento ricevuto.

L'ora viene spostata in avanti? Se vengono letti eventi reali, potrebbe non essere generata la punteggiatura.

  • InputEventsLastPunctuationTime specifica quando è stata generata la punteggiatura per indicare lo spostamento in avanti dell'ora. Se la punteggiatura non viene generata, il flusso di dati può bloccarsi.

Sono presenti errori nell'input?

  • InputEventsEventDataNullTotal è un conteggio degli eventi con dati Null.
  • InputEventsSerializerErrorsTotal è un conteggio degli eventi che non è stato possibile deserializzare correttamente.
  • InputEventsDegradedTotal è un conteggio degli eventi che sono stati interessati da un problema diverso dalla deserializzazione.

Vengono eliminati o modificati eventi?

  • InputEventsEarlyTotal è il numero degli eventi con un timestamp applicazione precedente il limite massimo.
  • InputEventsLateTotal è il numero degli eventi con un timestamp applicazione successivo al limite massimo.
  • InputEventsDroppedBeforeApplicationStartTimeTotal è il numero degli eventi eliminati prima dell'ora di inizio del processo.

Si sta verificando un ritardo nella lettura dei dati?

  • InputEventsSourcesBackloggedTotal indica quanti altri messaggi devono essere letti per gli input di Hub eventi e dell'hub IoT di Azure.

Ottenere aiuto

Per ottenere assistenza aggiuntiva, provare ad accedere al forum di Analisi di flusso di Azure.

Passaggi successivi