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:
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.
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.
Per vedere il grafico delle metrica per una singola partizione, selezionare il nodo della partizione. Le metriche sono visualizzate nella parte inferiore della pagina.
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.
Per vedere i dettagli del valore e ora delle metriche, puntare sul grafico.
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?
- Input Events Backlogged (Total) (Totale eventi con backlog di input) indica quanti altri messaggi devono essere letti per gli input di Hub eventi e dell'hub IoT di Azure. Quando questo numero è maggiore di 0, significa che il processo non è in grado di elaborare i dati alla stessa velocità di ingresso. In questo caso potrebbe essere necessario aumentare il numero di unità di streaming e/o verificare se il processo può essere eseguito in parallelo. È possibile visualizzare altre informazioni su questo argomento nella pagina relativa alla parallelizzazione delle query.
Come ottenere assistenza
Per un'ulteriore assistenza, provare la pagina di domande e risposte Microsoft per Analisi di flusso di Azure.