פרופיל Go with Pprof

Prwpyl Go With Pprof



במערכת ההפעלה לינוקס, מערכת האקולוגית של GO מציעה חבילה גדולה של כלים ו-SPIs לאבחון בעיות הביצועים והלוגיקה בתוכנית GO. אחד מפתרונות האבחון הוא פרופיל GO. הפונקציה של פרופיל GO היא לנתח תוכנית GO במונחים של עלות, שימוש בזיכרון ושיחות פונקציה תכופות כדי להבין את החלק היקר ביותר של התוכנית. דף זה מדגים את השימוש בחבילת pprof לביצוע פרופיל GO תוך מספר שניות. כאן, נחקור את פונקציית pprof ליצירת פרופיל של תוכנית GO. בואו נתחיל!

מהי חבילת Pprof בלינוקס

חבילת pprof במערכת ההפעלה לינוקס היא כלי פרופיל המשמש לכתיבת נתוני פרופילי זמן הריצה בפורמט הנדרש בעזרת כלי ההדמיה pprof. הוא משרת באמצעות שרת HTTP עבור נתוני הפרופיל של זמן הריצה, והוא מיובא בעיקר עבור תופעות הלוואי של רישום מטפלי ה-HTTP שלו. כל נתיבי האחיזה של הפקודה pprof מתחילים ב- /debug/pprof/ ואחריו פקודה מסוימת.

כיצד להתקין את חבילת Pprof עבור פרופילי GO במערכת אובונטו 22.04

אם אתם מחפשים תהליך התקנה מהיר של יצירת פרופילים בזמן, אבל הכל מסורבל, תן לנו לעקוב אחר התהליך הבא. עליך לבצע כמה שלבים כדי להתקין את pprof במערכת Ubuntu 22.04. הנה השלבים האלה:







ראשית, עלינו להתקין את כל התלות כדי שחבילת pprof לא תיעצר. ראשית, התקן את התלות של Graphviz עם הפקודה הבאה:





הקפד להשתמש ב- 'sudo' כדי לתת את הרשאת השורש. אחרת, ייתכן שהמערכת לא תאפשר לך להתקין חבילה כלשהי. ראה את הפלט הבא:







כעת, למערכת יש את התלות עבור חבילת pprof. זה מאפשר לך להתקין את חבילת pprof. השתמש בפקודה ' go get' כדי לקבל את pprof מ- GitHub. הנה הפקודה:

אם אין לך את הפקודה 'עבור' מותקנת מראש, תצטרך להתקין אותה באופן ספציפי כדי להשתמש בה. המערכת שלנו לא הותקנה את הפקודה 'עבור', אז קיבלנו את התוצאה 'הפקודה לא נמצאה'. ראה את הפלט הבא:

התקן תחילה את חבילת 'גו' ולאחר מכן השתמש בה כדי לקבל את חבילת pprof מ-GitHub. כפי שניתן לראות בצילום המסך הקודם, יש לנו שלוש אפשרויות שונות להתקנת חבילת 'גו', כך שנוכל להשתמש בכל אחת מהן. כולם נותנים את אותה תוצאה עם תכונות מעט שונות. עם זאת, אנו משתמשים בפקודה 'sudo apt install golang-go' כדי להתקין את גרסת החבילה 'go' '2:1.18~0ubuntu2'. בצע את הפקודה הבאה:

זה מאפשר לך להתקין את חבילת 'גו' כמו גם את כל התלות והספריות הרלוונטיות שלה. ראה את הפלט הבא:

כעת, עבור אל מאגר GitHub והתקן את חבילת pprof. חבילת pprof היא כלי המשמש לניתוח והדמיה של נתוני הפרופיל, אך היא אינה מוצר רשמי של גוגל. זו הסיבה שאתה יכול להשתמש במאגר GitHub ולהתקין ידנית את חבילת pprof עם הפקודה 'go'. ודא שהמערכת שלך עונה על כל הצרכים של התנאים המוקדמים לפני שתתחיל את 'עבור להתקין github.com/google/ [מוגן באימייל] ' פקודה. התנאים המוקדמים הם ערכת פיתוח 'לך' של גרסה נתמכת ויישום graphviz ליצירת הדמיה גרפית של הפרופילים. אפליקציית Graphviz היא אופציונלית, כך שתוכל לדלג עליה אם תרצה בכך. מכיוון שהתקנו את שניהם והכנו פלטפורמה לחבילת pprof, המערכת שלנו מוכנה להתקין אותה. תן לנו לקבל גישה למאגר GitHub כדי להתחיל את תהליך ההתקנה. ראה את הפקודה הבאה:

פקודה זו עוברת אל 'github.com/google/ [מוגן באימייל] ' כתובת. התקן את חבילות pprof ממאגר GitHub. ראה את התוצאה הבאה:

הפקודה 'לך' הורידה את החבילה והיא מותקנת במערכת אובונטו 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. ראה את התגובה הבאה:

על ידי ביצוע אותו נוהל, אתה יכול להסתכל על פרופיל מעבד של 30 שניות, פרופיל חוסם גורוטינים, בעלי מוטקסים מתווכחים וכו'.

סיכום

מדריך זה הוא הדרכה מהירה של פקודת pprof המשמשת במערכת ההפעלה אובונטו 22.04. בדקנו מהי הפקודה pprof במערכת לינוקס. ולמדנו כיצד להתקין אותו במערכת אובונטו 22.04 שלנו. למדנו גם על מגוון האפשרויות הזמינות לחבילת pprof במערכת ההפעלה לינוקס. התפקיד הבסיסי של חבילת pprof הוא לשרת באמצעות שרת HTTP עבור נתוני הפרופיל בזמן ריצה תוך אספקת הנתונים הפרופילים בפורמט הנדרש באמצעות כלי ההדמיה pprof. זה מאפשר לך ליצור פרופיל GO תוך 30 שניות בלבד.