Profile Go with Pprof

Profile Go With Pprof



Στο λειτουργικό σύστημα Linux, το οικοσύστημα GO προσφέρει μια μεγάλη σουίτα εργαλείων και SPI για τη διάγνωση των προβλημάτων απόδοσης και λογικής στο πρόγραμμα GO. Μία από τις διαγνωστικές λύσεις είναι το προφίλ GO. Η λειτουργία του προφίλ GO είναι να αναλύει ένα πρόγραμμα GO όσον αφορά το κόστος, τη χρήση μνήμης και συχνές κλήσεις λειτουργιών για να προσδιορίσει το πιο ακριβό τμήμα του προγράμματος. Αυτή η σελίδα δείχνει τη χρήση του πακέτου pprof για την εκτέλεση του προφίλ GO σε λίγα δευτερόλεπτα. Εδώ, θα εξερευνήσουμε τη συνάρτηση pprof για τη δημιουργία προφίλ ενός προγράμματος GO. Ας ξεκινήσουμε!

Τι είναι ένα πακέτο Pprof στο Linux

Το πακέτο pprof στο λειτουργικό σύστημα Linux είναι ένα εργαλείο δημιουργίας προφίλ που χρησιμοποιείται για την εγγραφή των δεδομένων προφίλ χρόνου εκτέλεσης στην απαιτούμενη μορφή με τη βοήθεια του εργαλείου οπτικοποίησης pprof. Εξυπηρετεί μέσω ενός διακομιστή HTTP για τα δεδομένα δημιουργίας προφίλ χρόνου εκτέλεσης και ως επί το πλείστον εισάγεται για τις παρενέργειες της εγγραφής των χειριστών HTTP του. Όλες οι διαδρομές χειρισμού της εντολής pprof ξεκινούν με το /debug/pprof/ ακολουθούμενο από μια συγκεκριμένη εντολή.

Πώς να εγκαταστήσετε το πακέτο Pprof για το προφίλ GO στο σύστημα Ubuntu 22.04

Αν ψάχνετε για μια γρήγορη διαδικασία εγκατάστασης προφίλ in go, αλλά όλα είναι δυσκίνητα, αφήστε μας να ακολουθήσουμε την παρακάτω διαδικασία. Πρέπει να ακολουθήσετε ορισμένα βήματα για να εγκαταστήσετε το pprof στο σύστημα Ubuntu 22.04. Εδώ είναι αυτά τα βήματα:







Αρχικά, πρέπει να εγκαταστήσουμε όλες τις εξαρτήσεις έτσι ώστε το πακέτο pprof να μην σταματήσει. Αρχικά, εγκαταστήστε την εξάρτηση Graphviz με την ακόλουθη εντολή:





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







Τώρα, το σύστημα έχει τις εξαρτήσεις για το πακέτο pprof. Σας επιτρέπει να εγκαταστήσετε το πακέτο pprof. Χρησιμοποιήστε την εντολή 'go get' για να λάβετε το pprof από το GitHub. Εδώ είναι η εντολή:

Εάν δεν έχετε προεγκατεστημένη την εντολή «go», θα πρέπει να την εγκαταστήσετε ειδικά για να τη χρησιμοποιήσετε. Το σύστημά μας δεν είχε εγκατεστημένη την εντολή «go», οπότε πήραμε το αποτέλεσμα «η εντολή δεν βρέθηκε». Δείτε την ακόλουθη έξοδο:

Εγκαταστήστε πρώτα το πακέτο «go» και μετά χρησιμοποιήστε το για να λάβετε το πακέτο pprof από το GitHub. Όπως μπορείτε να δείτε στο προηγούμενο στιγμιότυπο οθόνης, έχουμε τρεις διαφορετικές επιλογές για να εγκαταστήσουμε το πακέτο «go», ώστε να μπορούμε να χρησιμοποιήσουμε οποιαδήποτε από αυτές. Όλα δίνουν το ίδιο αποτέλεσμα με ελαφρώς διαφορετικά χαρακτηριστικά. Ωστόσο, χρησιμοποιούμε την εντολή 'sudo apt install golang-go' για να εγκαταστήσουμε την έκδοση του πακέτου 'go' '2:1.18~0ubuntu2'. Εκτελέστε την ακόλουθη εντολή:

Αυτό σας επιτρέπει να εγκαταστήσετε το πακέτο 'go' καθώς και όλες τις εξαρτήσεις και τις σχετικές βιβλιοθήκες του. Δείτε την ακόλουθη έξοδο:

Τώρα, μεταβείτε στο αποθετήριο GitHub και εγκαταστήστε το πακέτο pprof. Το πακέτο pprof είναι ένα εργαλείο που χρησιμοποιείται για την ανάλυση και την οπτικοποίηση των δεδομένων προφίλ, αλλά δεν είναι επίσημο προϊόν της Google. Αυτός είναι ο λόγος για τον οποίο μπορείτε να χρησιμοποιήσετε το αποθετήριο GitHub και να εγκαταστήσετε μη αυτόματα το πακέτο pprof με την εντολή 'go'. Βεβαιωθείτε ότι το σύστημά σας πληροί όλες τις ανάγκες των προαπαιτούμενων προτού ξεκινήσετε το 'go install github.com/google/ [email προστατεύεται] ' εντολή. Οι προϋποθέσεις είναι ένα κιτ ανάπτυξης «go» μιας υποστηριζόμενης έκδοσης και μια εφαρμογή graphviz για τη δημιουργία της γραφικής απεικόνισης των προφίλ. Η εφαρμογή Graphviz είναι προαιρετική, οπότε μπορείτε να την παραλείψετε αν θέλετε. Εφόσον εγκαταστήσαμε και τα δύο και ετοιμάσαμε μια πλατφόρμα για το πακέτο pprof, το σύστημά μας είναι έτοιμο να το εγκαταστήσει. Ας αποκτήσουμε πρόσβαση στο αποθετήριο GitHub για να ξεκινήσουμε τη διαδικασία εγκατάστασης. Δείτε την παρακάτω εντολή:

Αυτή η εντολή πηγαίνει στο 'github.com/google/ [email προστατεύεται] ' διεύθυνση. Εγκαταστήστε τα πακέτα pprof από το αποθετήριο GitHub. Δείτε το παρακάτω αποτέλεσμα:

Η εντολή 'go' κατέβασε το πακέτο και εγκαθίσταται στο σύστημα Ubuntu 22.04 διαδοχικά. Το δυαδικό αρχείο είναι από προεπιλογή εγκατεστημένο στη θέση $HOME/go/bin.

Εμφάνιση της σελίδας εγχειριδίου του Pprof

Τώρα, ελέγξτε τη σελίδα εγχειριδίου του pprof για να λάβετε τις λεπτομέρειες του πακέτου pprof. Η σελίδα του εγχειριδίου περιέχει όλες τις επιλογές για το πακέτο pprof με μια σύντομη λεπτομέρεια για το καθένα. Αυτό σας επιτρέπει να γνωρίζετε κάθε επιλογή του pprof και να τις χρησιμοποιείτε στους κωδικούς σας με ευκολία. Επιπλέον, όποτε χρειαστεί, μπορείτε να ανατρέξετε στη σελίδα του εγχειριδίου χρησιμοποιώντας τη σημαία –help. Δείτε πώς μπορείτε να το κάνετε:

Αυτό εμφανίζει την πλήρη σελίδα του εγχειριδίου στο τερματικό σας. Ρίξτε μια ματιά στα παρακάτω:

Όπως μπορείτε να δείτε, υπάρχουν πολλές διαθέσιμες επιλογές για την εντολή pprof. Μπορείτε να χρησιμοποιήσετε οποιοδήποτε από αυτά για να λάβετε τα απαιτούμενα μορφοποιημένα δεδομένα προφίλ.

Χρησιμοποιήστε το Pprof για τη δημιουργία προφίλ των δεδομένων

Για να χρησιμοποιήσετε το pprof στο πρόγραμμά σας, εισαγάγετε πρώτα το πακέτο pprof. Χρησιμοποιήστε την ακόλουθη εντολή για να εισαγάγετε το πακέτο pprof:

Πριν ξεκινήσετε την εισαγωγή, βεβαιωθείτε ότι η εφαρμογή εκτελεί ήδη διακομιστή HTTP. Εάν δεν έχετε διακομιστή εφαρμογών διακομιστή HTTP σε λειτουργία, θα πρέπει να ξεκινήσετε έναν προσθέτοντας τα 'net/http' και 'log' στην εισαγωγή και προσθέστε τον ακόλουθο κώδικα:

Τώρα, μπορείτε να χρησιμοποιήσετε την εντολή pprof για να δείτε το προφίλ σωρού. Η ακόλουθη εντολή χρησιμοποιείται για τον έλεγχο του προφίλ σωρού του http://localhost:

Αυτό αρχίζει να αναζητά το προφίλ και προσπαθεί να συνδεθεί στον διακομιστή http. Δείτε την παρακάτω απάντηση:

Ακολουθώντας την ίδια διαδικασία, μπορείτε να δείτε ένα προφίλ CPU 30 δευτερολέπτων, ένα προφίλ αποκλεισμού goroutine, κατόχους αμφιλεγόμενων mutexes κ.λπ.

συμπέρασμα

Αυτό το εγχειρίδιο είναι μια γρήγορη περιγραφή μιας εντολής pprof που χρησιμοποιείται στο λειτουργικό σύστημα Ubuntu 22.04. Εξερευνήσαμε τι είναι η εντολή pprof στο σύστημα Linux. Και μάθαμε πώς να το εγκαταστήσουμε στο σύστημά μας Ubuntu 22.04. Μάθαμε επίσης για την ποικιλία των διαθέσιμων επιλογών για το πακέτο pprof στο λειτουργικό σύστημα Linux. Η βασική λειτουργία του πακέτου pprof είναι να εξυπηρετεί μέσω ενός διακομιστή HTTP για τα δεδομένα προφίλ χρόνου εκτέλεσης, ενώ παρέχει τα δεδομένα προφίλ στην απαιτούμενη μορφή μέσω του εργαλείου οπτικοποίησης pprof. Αυτό σας επιτρέπει να δημιουργήσετε προφίλ GO σε μόλις 30 δευτερόλεπτα.