הורדת נתוני הפרופיל
במאמר הזה מוסבר איך להוריד את נתוני הפרופיל למערכת המקומית, ואיך לאחזר את נתוני הפרופיל באופן פרוגרמטי באמצעות אפליקציית Go.
הורדת פרופילים באמצעות מסוף Google Cloud
כדי להוריד את הפרופיל שמוצג בתרשים הלהבות, לוחצים על הורדה get_app.
כלי הפרופיל משתמש במוסכמת השמות הבאה לקובץ שהורד:
profiler_[SERVICE_NAME]_[PROFILE_TYPE]_[FROM_DATE]_[TO_DATE]_[ZONE]_[VERSION].pb.gz
בביטוי הזה:
-
SERVICE_NAMEמכיל את בחירת השירות PROFILE_TYPEמכיל את הבחירה שלכם בסוג הפרופיל- השדות
FROM_DATEו-TO_DATEמכילים את הגדרות טווח הזמן -
ZONEמכיל את הבחירה שלכם באזור -
VERSIONמכיל את הבחירה שלכם בגרסה
לדוגמה: profiler_docdemo-service_HEAP_2018-04-22T20_25_31Z_2018-05-22T20_25_31Z_us-east1-c.pb.gz
הורדת פרופילים באופן פרוגרמטי
כדי לאחזר נתוני פרופיל, משתמשים בשיטת ה-API ListProfiles. בדוגמה הבאה של תוכנית Go מוצג שימוש ב-API הזה.
תוכנית הדוגמה יוצרת תיקייה בספרייה שממנה היא מופעלת, ומפיקה קבוצה של קבצי pprof ממוספרים. לכל קובץ יש מוסכמת שמות דומה ל-profile000042.pb.gz. כל ספרייה מכילה נתוני פרופיל וקובץ מטא-נתונים – metadata.csv, שמכיל מידע על הקבצים שהורדו.
תוכנית הדוגמה מקבלת את הארגומנטים הבאים בשורת הפקודה:
-
project: הפרויקט שממנו מאחזרים את הפרופילים. חובה. -
page_size: המספר המקסימלי של הפרופילים שאוחזרו בכל קריאה ל-API. הערך המקסימלי שלpage_sizeהוא 1,000. אם לא מציינים ערך, השדה הזה מוגדר ל-100. -
page_token: אסימון מחרוזת שנוצר בהרצה קודמת של התוכנית כדי להמשיך את ההורדות. זה שינוי אופציונלי. -
max_profiles: המספר המקסימלי של הפרופילים לאחזור. אם מספקים מספר שלם לא חיובי, התוכנית מנסה לאחזר את כל הפרופילים.
אופציונלי.
הרצת האפליקציה לדוגמה
כדי להריץ את האפליקציה לדוגמה:
משכפלים את המאגר:
git clone https://github.com/GoogleCloudPlatform/golang-samples.gitעוברים לספרייה שמכילה את התוכנית לדוגמה:
cd golang-samples/profiler/exportמריצים את התוכנית אחרי שמחליפים את YOUR_GCP_PROJECT במזהה שלGoogle Cloud הפרויקט:
go run main.go -project YOUR_GCP_PROJECT -page_size 1000 -max_profiles 10000
יכול להיות שיעבור זמן רב עד שהתוכנית תסתיים. התוכנית מוציאה טוקן לדף הבא אחרי אחזור הדף הנוכחי. אם התוכנית נקטעת, אפשר להשתמש באסימון כדי להמשיך את התהליך.
צפייה בפרופילים שהורדו
כדי לקרוא קובץ שהורדתם, שנכתב בפורמט מאגר אחסון לפרוטוקולים שעבר סריאליזציה, אתם יכולים להשתמש בכלי pprof בקוד פתוח.