DCSIMG
SharePoint 2010 Developer Dashboard - SharePoint 2010

SharePoint 2010

הבלוג נועד לתת מידע ניהולי וטכני על SharePoint 2010 (שכולל את WSS 4.0) וכן על הכלים המשלימים כגון Visual Studio 2010, SharePoint Designer 2010 ועוד. הבלוג נכתב על-ידי אבי דנטלסקי ללא כוונת רווח וללא כוונת זדון... תיהנו!

SharePoint 2010 Developer Dashboard

פעם שמעתי שיש פה ושם מפתח SharePoint אחד או שניים שלא טורחים לבדוק את ביצועי הקוד שלהם (כי אין כלים מתאימים או תירוצים כאלו) – אז אם יש אמת בשמועות האלו, SP2010 מציע פתרון די מקיף לאותו מיעוט זניח של מפתחים, הלא הוא Developer Dashboard. טוב, זה לא נראה "נוצץ" כמו ה- Idera SharePoint performance manager (לשעבר Sonar) אבל זה בחינם!

אז מה הוא עושה?

 

  1. פירוט (במילי-שניות) של זמן טעינת כל רכיב בדף (Get http)
  2. פירוט של שאילתות ה- DB (כגון stored procedures)
  3. פירוט של Service Calls ושל SPRequests
  4. הצגת Webparts offsets (ראו בהמשך)
  5. הצגת שגיאות והתראות

 

איך הוא נראה?

משהו כזה:

SP2010-DevDb-General

איך מפעילים אותו?

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

דא עקא, האייקון לא נמצא שם כברירת מחדל. לשם כך יש להפעיל פקודת stsadm או PowerShell (משום מה ההפעלה היא לא ע"י Feature באתר - אני צופה בעיות עם הרעיון הזה, כי זה אומר שמפתח יצטרך הרשאות מנהל חווה בשרת להריץ את הפקודה הזאת – אולי זה ייפתר בגירסת ה- RTM, או צד שלישי, נראה…)

יש לציין כי ישנם 3 מצבים של ה- DevDb:

  • מופעל (On) – במצב זה ה- DevDb מוצג תמיד בכל דף (לא ממש נוח)
  • מופעל עפ"י דרישה (OnDemand) – במצב זה מוצג אייקון קטן בראש הדף (ראו תמונה למעלה) וליצה עליו מפעילה/מכבה את ה- DevDb
  • לא מופעל (Off) – מצב זה נועד לבטל אחד משני המצבים הקודמים

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

stsadm

מופעל תמיד -

stsadm -o setproperty -pn developer-dashboard -pv On

הפעלה עפ"י דרישה -

stsadm -o setproperty -pn developer-dashboard -pv OnDemand

כיבוי -

stsadm -o setproperty -pn developer-dashboard -pv Off

PowerShell

[Microsoft.SharePoint.Administration.SPWebService]::
ContentService.DeveloperDashboardSettings.DisplayLevel = On/OnDemand/Off;
  
[Microsoft.SharePoint.Administration.SPWebService]::
ContentService.DeveloperDashboardSettings.Update();

וככה הוא נראה מקרוב בדף מייצג

השתמשתי בדף החביב עליי, המכיל 4 webparts שונים:

SP2010-New-Webparts

 

ולאחר הפעלת ה- DevDb מתקבל המסך הבא, המחולק לשמאל ולימין:

שמאל

SP2010-DevDb-Left

ניתן לראות כי זמן הבקשה הכולל היה 715 מילי-שניות, והוא מחולק לעשרות תתי-בקשות במבנה היררכי

שימו לב היטב לשמות ה- events המוצגים – אלו נקראים "monitored scopes" ולכל רכיב ניתן להגדיר , ע"י שימוש ב- class החדש שנקרא SPMonitoredScope  . ראו להלן מה נדרש לעשות בקוד שלכם כדי שגם הרכיב שלכם יופיע!

ימין

SP2010-DevDb-Right

שימו לב לשורות המוקפות באדום – זהו זמן ה"Offset" של ה- webpart  הכבדים יחסית - כלומר, כמה זמן עבר מרגע שנטען "רכיב האב" שלו, עד שהוא עצמו הואיל בטובו לעלות. הסיבה היא ש- WP אלו מכילים תמונות, זה הכל…

חוץ מזה, בראש הדף (בחלק "כללי") ניתן לראות את ה- correlation ID שמאפשר לאתר את ה- ULS Log המתאים!

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

SP2010-DevDb-Trace

מה עוד אפשר לעשות איתו?

דבר ראשון, לנצל את ה- class החדש שנקרא SPMonitoredScope – ברגע שמשלבים אותו בקוד, הרכיב יוצף ל-DevDb ותוכלו לנטר אותו, לדוגמה:

using (SPMonitoredScope GetListsBtnScope =

new SPMonitoredScope("GetListsBtn_Click"))

{

//your code goes here

(מקור: Steve Peschka)

דבר שני, בחור יצירתי בשם Jaap Vossers העלה כבר לפני כמה חודשים רכיב ויזואליזציה של ה- DevDb ויש לי תחושה שזה יהפוך לפריט חובה למפתחים  (אותו מיעוט זניח שכיום טרם מבצע בדיקות ביצועים לקוד שלו…)

לעיון נוסף

  • Razi bin Rais - פירוט + צילומי מסך, כולל דוגמה ל- Feature שיפעיל/יכבה את ה- DevDb
  • Geoff Varosky - פירוט כולל הפעלה ע"י קוד, צילומי מסך והפעלת additional tracing

<< חזרה לטבלת החידושים ב- SharePoint 2010

פורסם: Mar 10 2010, 07:38 PM by SP2010 | with no comments
תגים:, ,
שלח תגובה

(שדה חובה)  

(שדה חובה)  

(אופציונלי)

(שדה חובה) 

Please add 1 and 2 and type the answer here:


Enter the numbers above: