השוואה בין פרופילים

בעזרת Cloud Profiler אפשר להשוות באופן חזותי בין שני פרופילים מאותו סוג, שנלקחו מאותו שירות בפרויקט. אפשר להשוות בין פרופילים שונים לפי:

  • שעות סיום: האם השירות פועל מהר יותר בשעות מסוימות? האם חל שיפור או ירידה הדרגתיים לאורך זמן?
  • אזורים: האם השירות פועל מהר יותר באזורים מסוימים מאשר באחרים?
  • גרסאות שירות: האם יש הבדלים משמעותיים בין גרסאות חדשות לגרסאות ישנות? איך?
  • משקל: מה ההבדל בין פרופילים שנאספו בתקופות של צריכה גבוהה לבין פרופילים ממוצעים?

הגדרת השוואה

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

כדי להגדיר השוואה:

  1. בוחרים אפשרות מהתפריט השוואה ל כדי להגדיר את סוג ההשוואה:

    בחירה באחת מהאפשרויות האלה תוביל לשדה הגדרה חדש. שם השדה מתחיל ב-Compared ומסתיים בסוג ההשוואה. לדוגמה, אם בוחרים באפשרות גרסה, מוצג שדה גרסה בהשוואה לצד השדה השוואה ל.

  2. בתפריט בהשוואה, בוחרים את הפרופיל שרוצים להשוות.

לדוגמה, בצילום המסך מוצגות ההגדרות להשוואה בין שתי גרסאות של docdemo-service:

השוואה בין שני פרופילים של זמן מעבד.

ההגדרות של השדות הבאים חלות על הפרופיל המקורי ועל הפרופיל להשוואה:

  • טווח זמן: 7 days
  • שעת סיום: 10/24/19, 8:35 AM
  • שירות: docdemo-service
  • סוג הפרופיל: CPU time
  • Zone (תחום): All zones
  • משקל: All

בפרופיל המקורי, הגרסה היא 1.75.0. בפרופיל שמשווים, הגרסה היא 1.25.0.

הסבר על תרשים השוואה

התרשים שמתקבל מהשוואה שונה מהתרשים הרגיל בדרכים הבאות:

  • משמעות הצבעים
  • משמעות הגודל של בלוק הפונקציה
  • פרטי המדד שמוצגים בהסבר הקצר
  • התוכן של רשימת המיקוד

משמעות הצבעים

בתרשים להבת סטנדרטי, אפשר לציין את מצב הצבע של התרשים. מידע נוסף זמין במאמר בנושא מצב צבע.

בתרשים להשוואה של פרופילים, הצבעים מייצגים את ההבדל בין צריכת המדדים הכוללת של הפונקציה בפרופיל המקורי לבין צריכת המדדים בפרופיל להשוואה:

  • אפור: אין הבדל או שההבדל קטן.
  • אדום: ההפרש חיובי.
  • כחול: ההפרש שלילי.

ככל שההבדל בין ערכי הצריכה של שני הפרופילים שמשווים גדול יותר, כך הצבע רווי יותר.

לדוגמה, באיור הקודם, סטאק הביצוע foo1 כחול, מה שמצביע על כך שהפרופיל המקורי צרך פחות CPU מהפרופיל שהושווה אליו. המסגרת foo1 בצבע כחול בהיר יותר מהמסגרת המשנית bar, מה שמצביע על כך שיש הבדל גדול יותר בצריכת המדדים של הפונקציה foo1 מאשר של הפונקציה bar. לבסוף, סטאק הביצוע foo2 אדום, מה שמצביע על כך שהפרופיל המקורי צרך יותר מעבד (CPU) מהפרופיל שהושווה אליו.

משמעות הגודל של הבלוק

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

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

ערכי המדדים שמוצגים

בתרשים להבת סטנדרטי, המדדים שמוצגים בתיאור הכלים מורכבים משני סעיפים: total ו-self. בשני הסעיפים, הערך האבסולוטי מוצג לצד אחוז:

     total: 1.01 s, 28.8%; self: 1.01 s, 28.8%

בתרשים להשוואה של פרופילים, מוצגים שני פרופילים להשוואה, ולכן בתיבת ההסבר הקצר מוצגים ערכי המדדים של שני הפרופילים:

הערכים שמוצגים בהשוואה בין פרופילים.

כפי שמוצג באיור, סעיפי ה-total וה-self הם מהצורה הבאה:

     [ABS_ORIGINAL] vs. [ABS_COMPARED] ([ABS_DIFF]), [REL_ORIGINAL] vs. [REL_COMPARED] ([REL_DIFF])

בביטוי הזה, ABS_ מציין את הערך המוחלט ו-REL_ מציין את האחוז היחסי. לכן, [ABS_ORIGINAL] הוא הערך המוחלט של הפרופיל המקורי ו-[ABS_COMPARED] הוא הערך המוחלט של הפרופיל שמשווים אליו. השדה [ABS_DIFF], שמוגדר כ-[ABS_ORIGINAL][ABS_COMPARED], הוא ההפרש המוחלט בין שני הפרופילים. אם ההבדל המוחלט הוא אפס, מוצג הערך no change (ללא שינוי).

האחוז מחושב לכל פרופיל כיחס בין הערך הגולמי של פונקציה לבין הערך הגולמי של השורש. לדוגמה, בפרופיל המקורי, foo1 לקח 4.67 שניות ו-root לקח 10.03 שניות. לכן, [REL_ORIGINAL] הוא בערך 46.0%. חישוב דומה מתבצע עבור הפרופיל שמשווים אליו. לבסוף, השדה [REL_DIFF], שמוגדר כהפרש בין האחוזים האלה, הוא ההפרש היחסי בין שני הפרופילים. אם ההבדל הוא אפס, מוצג ללא שינוי.

בדוגמה הקודמת, סעיף הסיכום מראה שהפונקציה foo1 בפרופיל המקורי פועלת במשך 4.67 שניות. ההפרש המוחלט של ‎-2.24 שניות מציין שהפונקציה foo1 מתבצעת בערך 2.41 שניות מהר יותר בפרופיל המקורי מאשר בפרופיל שמושווה אליו:

     total: 4.67 s vs. 6.91 s (-2.24 s), 46.6% vs 69% (-22.4%)

התמקדות בהשוואה

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

בתרשים להשוואה, כל שורה ברשימת המיקוד מכילה שם של פונקציה, את ערכי המדדים העצמיים והכוללים של צריכת המשאבים, ואת מספר מחסניות הקריאה לפונקציה הזו בפרופיל המקורי.profiler בתרשים להשוואה, רשימת המיקוד כוללת גם שתי עמודות עם התווית Diff, לחצן עם התווית Relative Diff ולחצן עם התווית Absolute Diff. מידע על ההפרש היחסי וההפרש המוחלט זמין במאמר ערכי מדדים שמוצגים.

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

רשימת המיקוד שמציגה את ההבדל היחסי בין שני פרופילים.

הטבלה בדוגמה מראה שהפונקציה foo1 פועלת במשך כ-4.67 שניות בפרופיל המקורי. הזמן 4.67 שניות תואם לכ-46.6% מזמן הריצה. העמודה הפרש, שבה מוצג ההפרש היחסי, מכילה את הערך -22.4%.

כדי לראות את ההבדל המוחלט בין ערכי המדדים, לוחצים על הבדל מוחלט.

בין אם יש לכם תרשים להבת סטנדרטי או תרשים להבת השוואה, אתם יכולים למיין את השורות בטבלה בסדר עולה או בסדר יורד על ידי בחירה של רכיב בכותרת הטבלה.

השבתת מצב ההשוואה

כדי להשבית את מצב ההשוואה, מגדירים את השדה השוואה ל לערך ללא.

המאמרים הבאים