Microsoft випустила вихідний код GCToolkit

Microsoft опублікував кілька днів тому новину про те випустив вихідний код свого інструменту «GCToolkit», що являє собою набір бібліотек для аналізу файлів журналу збору сміття Java, за допомогою яких весь код GCToolkit є в наявності на GitHub за ліцензією MIT.

GCToolkit складається з трьох модулів Java що охоплює API, синтаксичні аналізатори файлів журналів GC та панель повідомлень на основі набору інструментів Vert.x для створення адаптивних програм на JVM. За допомогою цієї утиліти користувачі можуть створювати довільні та складні сканування стану керованої пам’яті в JVM.

Як випливає з назви, це набір бібліотек для розбору файлів журналу збирання сміття Java (GC) та їх аналізу в окремих подіях. Розкрийте API, щоб покращити взаємодію з набором інструментів та агрегацією даних, це дозволяє користувачеві створювати довільні складні аналізи стану керованої пам'яті JVM.

За словами команди, це точка входу користувача в GCToolkit, яка приховує деталі внутрішніх модулів у кількох викликах методів. На додаток до API, є ще два модулі: модуль синтаксичного аналізу та Vert.x. Модуль синтаксичного аналізу базується на наборі регулярних виразів та коду, записаного в вважати найнадійнішим аналізатором журналів GC.

Бекенд обміну повідомленнями на основі Vert.x використовує дві шини повідомлень: перший передає дані з джерела даних. Поточна реалізація передає рядки журналу з файлу журналу GC. Споживачами цієї шини є аналізатори, які перетворюють дані з джерела даних у події, що представляють цикл ГХ або безпечну точку. Ці події публікуються на другій шині повідомлень: шині подій. Абоненти автобусів подій можуть отримувати повідомлення та обробляти події, які їх цікавлять.

Аналізатор випромінює дискретні події JVM, що дозволяє писати код для збору та аналізу даних цих подій. Щоб полегшити збір даних та аналіз файлів журналу GC, GCToolkit надає просту структуру агрегації. Тип даних, які користувачі хочуть захопити, або тип аналізу, який вони хочуть виконати, - на розсуд користувача. Наприклад, для фіксації подій призупинення для аналізу зайнятості купи, агрегатор фіксує подію, витягує відповідні дані та передає дані агрегату.

Це об’єднує дані в обґрунтований аналіз, наприклад, загальна зайнятість куп після збору сміття. Отримані дані можна представити у вигляді графіка, таблиці або іншого зручного для користувача формату. Що ще важливіше, на думку команди, неоптимальна конфігурація колектора призведе до створення програми, яка потребує більше процесора та пам’яті, при цьому погіршуючи роботу кінцевого користувача. Іншими словами, погано налаштований колектор часто означає дорожче час виконання та незадоволених користувачів.

З ростом інтересу Microsoft до платформи Java, фокус у відкритому коді це також збільшує переваги для спільноти Java. Після значного внеску в порт MacOS M1 та Windows в Arm, Microsoft підтвердила свою прихильність 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 (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.