Μετάβαση στο περιεχόμενο

Παρακολούθηση εκτελέσεων pipeline

Αυτή η σελίδα καλύπτει ό,τι συμβαίνει αφού ξεκινήσει μια εκτέλεση: τον εντοπισμό της, την ανάγνωση του τι έκανε κάθε βήμα και το πώς θα ξαναβάλετε μπροστά μια αποτυχημένη εκτέλεση. Για να ξεκινήσετε μία, δείτε Χειροκίνητη εκτέλεση pipeline.

  1. Κάντε κλικ στο Pipelines στην πλαϊνή στήλη του χώρου εργασίας. Η οθόνη είναι η ουρά εκτελέσεων του χώρου εργασίας — κάθε εκτέλεση, με τη νεότερη πρώτη.
  2. Χρησιμοποιήστε την αριστερή στήλη για φιλτράρισμα. Υπάρχουν ακριβώς τρία φίλτρα, το καθένα με ζωντανό μετρητή: Όλα, Σε εκτέλεση, Απέτυχε.
  3. Περιηγηθείτε στον πίνακα με ↑/↓ (ή j/k) και πατήστε Enter για να ανοίξετε την εκτέλεση που έχει την εστίαση. Το κλικ σε μια γραμμή κάνει το ίδιο.

Κάθε γραμμή εμφανίζει ένα σύμβολο για το πώς ξεκίνησε η εκτέλεση (play για τη χειροκίνητη· ένα σύμβολο αρχείου για παρακολούθηση γραφήματος κώδικα· διαφορετικά το αυτόματο έναυσμα). Η επεξήγηση εργαλείου αναφέρει το έναυσμα — Χειροκίνητα, Δημοσιεύτηκε PR, Αλλαγή αρχείου και ούτω καθεξής — και, για μια εκτέλεση παρακολούθησης, ποια αρχεία άλλαξαν. Έπειτα έρχονται το όνομα του pipeline, ένα σήμα κατάστασης, η ενεργή διάρκεια (ή η θέση στην ουρά για μια εκτέλεση σε κατάσταση queued) και πόσος χρόνος έχει περάσει από την έναρξη αυτής της απόπειρας. Η ενεργή διάρκεια εξαιρεί τα κενά αδράνειας από διακοπές και επανεκκινήσεις, οπότε δεν είναι το πραγματικό διάστημα ρολογιού.

Δεν υπάρχει φίλτρο για ολοκληρωμένες, σε αναστολή ή ακυρωμένες εκτελέσεις, ούτε φίλτρο ανά πρότυπο, ούτε χρονικό παράθυρο, ούτε προβολή ιστορικού εκτελέσεων ανά πρότυπο. Για να συγκρίνετε εκτελέσεις ενός προτύπου, πρέπει να σαρώσετε την ουρά αναζητώντας το όνομά του.

Η σελίδα μιας εκτέλεσης έχει τρία μέρη σε στοίβαξη.

Η λωρίδα μεταδεδομένων περιέχει την ώρα έναρξης, την ενεργή διάρκεια, την πρόοδο των βημάτων («3 από 7 βήματα»), μια σύνοψη αποτυχίας που αναφέρει το βήμα που έσπασε και τον λόγο, καθώς και τις ενέργειες Επανάληψη και Διαγραφή.

Το διάγραμμα χρονισμού δίνει μία μπάρα ανά βήμα, με τη διάρκειά του και — για βήματα πράκτορα — το κόστος του σε σεντς. Ένα βήμα που επαναλήφθηκε εμφανίζει ένα επίθεμα ×N μετά τη διάρκειά του· αυτό το επίθεμα είναι το μόνο σημείο όπου εμφανίζεται ο αριθμός των αποπειρών.

Ο καμβάς του γραφήματος σχεδιάζει το πρότυπο με τη ζωντανή κατάσταση κάθε κόμβου. Η επιλογή ενός κόμβου ανοίγει τον πίνακα βημάτων του.

Κατάσταση Σημασία
Εκκρεμεί Δημιουργήθηκε, δεν έχει ξεκινήσει ακόμη
Σε ουρά Έγινε δεκτή αλλά συγκρατείται: το όριο μέγιστου παραλληλισμού αυτού του προτύπου έχει καλυφθεί· δεν υπάρχουν ακόμη γραμμές βημάτων
Σε εκτέλεση Εκτελείται
Σε αναστολή Περιμένει κάτι εξωτερικό — φυσιολογικό, όχι κολλημένο
Ολοκληρώθηκε Τερματίστηκε με επιτυχία
Απέτυχε Τερματίστηκε με σφάλμα
Ακυρώθηκε Σταμάτησε από χρήστη ή από το σύστημα

Τα βήματα έχουν αυτές τις καταστάσεις χωρίς το Σε ουρά, συν το Παραλείφθηκε, για κλάδο που δεν ακολούθησε ένας δρομολογητής (και τους πλέον μη προσπελάσιμους απογόνους του).

Η κατάσταση Σε αναστολή είναι εκεί όπου ένα βήμα πράκτορα περνά το μεγαλύτερο μέρος της ζωής του: ένας απεσταλμένος πράκτορας ή μια πύλη έγκρισης συγκρατεί το βήμα μέχρι να ολοκληρωθεί η εργασία του. Δύο δικλείδες ασφαλείας του μηχανισμού αποτυγχάνουν ολόκληρη την εκτέλεση αντί να τη συνεχίσουν: ένα βήμα που βρίσκεται σε αναστολή για περισσότερο από 24 ώρες (extras.awaitApproval — το σώμα orchestration.awaitApproval — εξαιρείται· το human.gate όχι) και ένα μη ταυτοδύναμο βήμα που βρισκόταν σε εξέλιξη όταν σταμάτησε ο διακομιστής.

Επιλέξτε έναν κόμβο στον καμβά. Ο πίνακας βημάτων εμφανίζει, με τη σειρά:

  • Ένα πλαίσιο Σφάλμα όταν το βήμα απέτυχε, ή ένα πλαίσιο Παραλείφθηκε με τον λόγο όταν παραλείφθηκε.
  • Ξεκίνησε, Ολοκληρώθηκε και διάρκεια.
  • Κλάδος — το ευρετήριο κλάδου, για παράλληλους κλάδους.
  • Προβολή συνομιλίας — μεταβαίνει στη συνομιλία στην οποία εκτελέστηκε το βήμα. Οι συνομιλίες pipeline είναι κρυμμένες από την πλαϊνή στήλη, οπότε αυτός είναι ο μόνος τρόπος πρόσβασης.
  • Είσοδος και Έξοδος, ως αναπτυσσόμενο JSON.
  • Δραστηριότητα πράκτορα — ένα πλακίδιο ανά εκτέλεση πράκτορα που απέστειλε το βήμα, με την κατάσταση, τη σύνοψη, τη διάρκεια και το κόστος της.

Για ένα βήμα πράκτορα, η Έξοδος είναι το δομημένο ωφέλιμο φορτίο που υπέβαλε ο πράκτορας με το submit_output, όχι το πεζό κείμενό του. Το ίχνος συλλογισμού βρίσκεται στη Δραστηριότητα πράκτορα και στη συνομιλία πίσω από την Προβολή συνομιλίας.

Για ένα βήμα bash, η Έξοδος είναι το περικομμένο stdout που έγραψε το σενάριο κατά την έξοδο με κωδικό 0. Μια έξοδος με μη μηδενικό κωδικό αποτυγχάνει το βήμα, με την ουρά του stderr ως μήνυμα σφάλματος.

  1. Διαβάστε τη σύνοψη αποτυχίας στη λωρίδα μεταδεδομένων· αναφέρει το βήμα που απέτυχε. Το πλαίσιο Σφάλμα του πίνακα βημάτων έχει το μήνυμα.
  2. Ελέγξτε την Είσοδο του βήματος — ένα κλειδί κατάστασης που λείπει ή έχει ορθογραφικό λάθος είναι η πιο συχνή αιτία. Ένα βήμα prompt-agent αποτυγχάνει αμέσως και αναφέρει τα άλυτα σύμβολα θέσης· ένα βήμα bash τα αποδίδει ως κενές συμβολοσειρές και εκτελείται ούτως ή άλλως, κάτι που συνήθως εμφανίζεται ένα βήμα αργότερα.
  3. Για ένα βήμα πράκτορα, ανοίξτε την Προβολή συνομιλίας και διαβάστε τι έκανε πραγματικά ο πράκτορας.
  4. Πατήστε Επανάληψη στη λωρίδα μεταδεδομένων. Τα ολοκληρωμένα και παραλειφθέντα βήματα διατηρούν τις εξόδους τους· όλα τα υπόλοιπα διαγράφονται και εκτελούνται ξανά και η εκτέλεση επανέρχεται σε κατάσταση εκτέλεσης. Το ρολόι διάρκειας ξεκινά από την αρχή για αυτή την απόπειρα.

Συνήθεις αιτίες που αξίζει να ελέγξετε πρώτες:

  • Χρονικό όριο — το βήμα υπερέβη το Χρονικό όριο (ms). Θυμηθείτε ότι το πεδίο είναι σε χιλιοστά του δευτερολέπτου.
  • Σφάλμα σεναρίου — η εντολή bash τερματίστηκε με μη μηδενικό κωδικό, ή το bash δεν βρίσκεται στο PATH του κεντρικού υπολογιστή του διακομιστή.
  • Επικύρωση σχήματος — το ωφέλιμο φορτίο submit_output του πράκτορα δεν ικανοποιούσε το σχήμα εξόδου του βήματος.
  • Άλυτο σύμβολο θέσης — ένα {{key}} που αναφέρει ένα βήμα prompt-agent δεν γράφτηκε ποτέ στα ανάντη. Το σφάλμα αναφέρει κάθε άλυτο κλειδί.
  • Μη καταχωρισμένο σώμα — ένα βήμα του οποίου το κλειδί σώματος δεν είναι καταχωρισμένο παράγει προειδοποίηση κατά τη φόρτωση του προτύπου και έπειτα απλώς δεν εκτελείται ποτέ.

Διακοπή ενός βήματος που έχει κολλήσει

Ενότητα με τίτλο «Διακοπή ενός βήματος που έχει κολλήσει»

Επιλέξτε το βήμα που εκτελείται και πατήστε το κουμπί Τερματισμός εκτέλεσης στην κεφαλίδα του πίνακα βημάτων. Αυτό τερματίζει τη διεργασία του βήματος, σηματοδοτεί το βήμα ως αποτυχημένο και επομένως αποτυγχάνει ολόκληρη την εκτέλεση — κάθε ανοιχτός αδελφός κλάδος κλείνει μαζί της.

Δεν υπάρχει στοιχείο ελέγχου ακύρωσης εκτέλεσης σε αυτή την οθόνη. Το pipeline.cancel υπάρχει ως λειτουργία RPC και ο μηχανισμός το υλοποιεί, αλλά τίποτα στο UI των pipelines δεν το καλεί· ο Τερματισμός εκτέλεσης σε ένα βήμα, ή η Διαγραφή στην εκτέλεση, είναι οι μόνες διαθέσιμες ενέργειες διακοπής.

Το κόστος αναφέρεται ανά βήμα, στη δεξιά στήλη του διαγράμματος χρονισμού και σε κάθε πλακίδιο κάτω από τη Δραστηριότητα πράκτορα. Δεν υπάρχει σύνολο εκτέλεσης στη σελίδα λεπτομερειών ούτε στήλη κόστους στην ουρά εκτελέσεων, οπότε για να συγκρίνετε το κόστος δύο εκτελέσεων πρέπει να αθροίσετε τα βήματά τους.