מיקרוסופט פרסמה את קוד המקור של GCToolkit

מיקרוסופט פרסמה לפני כמה ימים את הידיעה כי פרסמה את קוד המקור של הכלי שלה "GCToolkit", שהיא קבוצה של ספריות לנתח את קבצי הרישום של Java Garbage Collection, שאיתם כל קוד GCToolkit זמין ב- GitHub תחת רישיון MIT.

GCToolkit מורכב משלושה מודולי ג'אווה המכסה ממשקי API, מנתחי קובצי יומן GC ותבנית הודעה מבוססת ערכת כלים מבוססת Vert.x לבניית יישומים רספונסיביים ב- JVM. בעזרת כלי זה, משתמשים יכולים ליצור סריקות שרירותיות ומורכבות של מצב הזיכרון המנוהל ב- JVM.

כפי שהשם מרמז, זוהי קבוצה של ספריות לניתוח קבצי יומן איסוף אשפה (GC) וניתוחם באירועים נפרדים. חשוף ממשק API לשיפור המעורבות עם ערכת הכלים וצבירת הנתונים, זה מאפשר למשתמש ליצור ניתוחים מורכבים שרירותיים של מצב הזיכרון המנוהל של JVM.

לדברי הצוות, זוהי נקודת הכניסה למשתמש ב- GCToolkit שמסתירה את פרטי המודולים הפנימיים בכמה שיחות שיטה. בנוסף ל- API, ישנם שני מודולים נוספים: מודול הניתוח ו- Vert.x. מודול ה Parser מבוסס על אוסף של ביטויים רגילים וקוד שנכתב אליו להיחשב מנתח יומן ה- GC החזק ביותר הקיים.

סוף ההודעות המבוסס על Vert.x משתמש בשני אוטובוסים של הודעות: הראשון מעביר נתונים ממקור נתונים. ההטמעה הנוכחית מעבירה שורות יומן מקובץ יומן GC. צרכני האוטובוס הזה הם מנתחי ההמרה של הנתונים ממקור הנתונים לאירועים המייצגים מחזור GC או נקודה בטוחה. אירועים אלה מתפרסמים באוטובוס ההודעות השני: אוטובוס האירועים. לאחר מכן ניתן להודיע ​​על מנויי אוטובוס האירועים ולעבד את האירועים המעניינים אותם.

Parser פולט אירועי JVM נפרדים, המאפשר לך לכתוב קוד לכידה וניתוח נתונים מאירועים אלה. כדי להקל על לכידת נתונים וניתוחם של קבצי יומן GC, GCToolkit מספק מסגרת צבירה פשוטה. סוג הנתונים שהמשתמשים רוצים ללכוד או סוג הניתוח שהם רוצים לבצע נתון לשיקול דעתו של המשתמש. לדוגמה, כדי ללכוד אירועי הפסקה לניתוח תפוסת ערימות, הצובר לוכד את האירוע, מחלץ את הנתונים הרלוונטיים ומעביר את הנתונים לצבירה.

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

עם ההתעניינות הגוברת של מיקרוסופט בפלטפורמת הג'אווה, מוֹקֵד בקוד פתוח זה גם מגדיל את היתרונות לקהילת הג'אווה. לאחר שתרמה תרומות משמעותיות ליציאת macOS M1 ו- Windows to Arm, מיקרוסופט אישרה מחדש את מחויבותה ל- OpenJDK על ידי הצגת גרסה משלה של OpenJDK והצטרפות לקבוצת העבודה של Eclipse Adoptium (שנקראה בעבר AdoptOpenJDK).

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

ה- API הפשוט ומנגנוני הפלט הניתנים לשימוש מבטיחים לשפר את משימת קריאת יומני GC על ידי מתן מנגנונים שונים לניתוח, חילוץ והדמיה של נתונים.

מקור: https://devblogs.microsoft.com


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי על הנתונים: AB Internet Networks 2008 SL
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.