PracticU

תוסף מיוחד ל-Chrome לדיבאג
React Developer Tools - Profiler

בלי כתוביותעם כתוביות
PracticU › קורס ריאקט - React › תוסף מיוחד ל-Chrome לדיבאג React Developer Tools - Profiler
מילון מושגים:
דיבאג - תהליך של איתור, הבנה ותיקון תקלות בקוד, לעיתים בעזרת כלי שמאפשר לעצור ולעקוב אחר ריצת התוכנית.
React - ספריית JavaScript לבניית ממשקי משתמש מבוססי רכיבים, שפותחה על ידי פייסבוק.
רכיב - יחידת בניין עצמאית וניתנת לשימוש חוזר בתוך מערכת או ממשק משתמש, שאחראית על חלק מוגדר מהתפקוד.
הוק - נקודת חיבור שמאפשרת להריץ קוד מותאם בשלב מסוים של תהליך. ב-React, מנגנון לניהול מצב ויכולות ברכיבים.
JSON - פורמט טקסט קריא לייצוג נתונים מובְנים כזוגות מפתח-ערך, נפוץ להחלפת מידע בין שרת ללקוח.

תוסף מיוחד ל-Chrome לדיבאג React Developer Tools - Profiler
הלשונית Profiler בתוסף React Developer Tools בודקת את הביצועים של האתר: אילו קומפוננטות מרונדרות, כמה זמן זה לוקח ולמה.
השלבים העיקריים
1. להתחיל הקלטה: רענון רגיל לא מפעיל את הפרופיילר. לוחצים Reload and start profiling, ממתינים כמה שניות ועוצרים. אפשר גם Start recording ו-Stop recording סביב פעולה ספציפית, כמו כניסה לדף Support.
2. מחזורי React: בראש המסך מופיעים המחזורים הפנימיים של React, כאן 6, ואפשר לעבור ביניהם עם חצים. במחזור הראשון רואים רינדור של הרבה קומפוננטות, ובמחזורים הבאים רק קומפוננטת השעון שעודכנה, כי React מרנדרת רק את מה שנדרש.
3. צבעים: ירוק מסמן מצב טוב, ככל שהצבע צהוב יותר זה פחות טוב, ואדום מצביע על זמנים גרועים מאוד. אפור פירושו שהקומפוננטה לא רונדרה.
4. שני גרפים: Flame Graph מציג את הקומפוננטות כלהבה הפוכה, ו-Ranked Chart מציג מהגרוע לטוב מבחינת זמן. כך רואים מה לקח הכי הרבה זמן. בדוגמה הקומפוננטה Audio לקחה הכי הרבה זמן, ובהקלטה אחרת Styled Button לקח 26 מילי-שניות, מה שנחשב הרבה. המרצה מעיר שיש ל-Styled Components הרבה עבודה מאחורי הקלעים ושאינו נגדם.
5. הגדרות (גלגל שיניים): האפשרות Highlight updates when components render מסמנת ריבוע סביב כל קומפוננטה שמרונדרת בזמן אמת. כך רואים שהשעון מרנדר בכל שנייה, ושבהקלדה או בלחיצה על Set Seller Item מרונדרת הקומפוננטה כולה.
6. סיבת הרינדור: האפשרות Record why each component rendered while profiling מציגה סיבה לכל רינדור. אצל השעון הסיבה היתה Hook 1 changed.
7. שמירה וטעינה: Save profile שומר את הנתונים כקובץ JSON, ו-Load profile טוען אותו. אפשר להשוות לפרופיל אחר או לשלוח למתכנת אחר.
עכשיו אפשר להבין איפה האתר מבזבז זמן רינדור, ולכוון את שיפורי הביצועים לפי זה.
השיעור הבא בקורס: רידקס - Redux Developer Tools

פרקי ההרצאה: תוסף מיוחד ל-Chrome לדיבאג React Developer Tools - Profiler

  1. 00:00

    חלונית ה-Profiler לפרפורמנס

  2. 00:38

    סייקלים של React

  3. 01:13

    רנדרינג הקומפוננטות וצבעים

  4. 01:50

    סייקל ללא רינדור

  5. 02:49

    Flame Graph לתצוגת פעולות

  6. 03:43

    הקלטת פעולות באתר

תמלול ההרצאה: תוסף מיוחד ל-Chrome לדיבאג React Developer Tools - Profiler

הטקסט המלא של הדקות הראשונות בהרצאה «תוסף מיוחד ל-Chrome לדיבאג React Developer Tools - Profiler» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

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

  2. 00:16

    הפרופיילר לא באמת עובד, לא באמת עושה שום דבר. מה שאנחנו צריכים לעשות זה ללחוץ על ה-reload and start profiling.

  3. 00:27

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

  4. 00:41

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

  5. 01:05

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

  6. 01:19

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

  7. 01:34

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

  8. 01:53

    אורייט אבל למה יש לנו פה כל כך הרבה סייקלים בואו רגע נעבור לסייקל הבא ונראה שיש לנו פה אפורים ואפור זה אומר did not render אתם רואים הוא כותב לי את זה בחלונית השחורה.

  9. 02:06

    אז מה קרה כאן שהוא לא did render כאילו אם הוא לא ביצע שום דבר למה היה לנו את כל הסייקל הזה כי יש לנו פה את הצהוב והצהוב זה הקלוק הקלוק כן התרנדר לכן זה מבחינת ריאפט היה סייקל נוסף שבזמן הזה היא הייתה צריכה לעדכן את ה-UI אבל רק את הקומפוננטה הזאת היא מאוד יעילה היא לא מתקנת את כל

  10. 02:31

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

  11. 02:49

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

  12. 03:00

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

  13. 03:11

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

  14. 03:25

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

  15. 03:41

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

  16. 03:56

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

לקורס המלא: קורס ריאקט אונליין

ההרצאה הקודמת: תוסף מיוחד ל-Chrome לדיבאג - React Developer Tool- Components

ההרצאה הבאה: רידקס - Redux Developer Tools

הרצאות קשורות מקורסים אחרים

  • Chrome Driver
  • התקנת תוסף TestNG
  • בדיקת ביצועים עם SQL Profiler
  • הסבר על Microsoft Developer Program

קורסים נוספים במסלול

  • קורס יסודות HTML - בניית אתר אינטרנט פשוט
  • קורס CSS 3 - בדגש על Flex & Grid
  • קורס Javascript כולל JQuery
  • קורס ג'אווה סקריפט מעשי - JavaScript
  • קורס TypeScript
  • קורס NodeJS