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

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

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

Как следует из названия, это набор библиотек для анализа файлов журнала сборки мусора (GC) Java и их анализа в отдельных событиях. Разместите API для улучшения взаимодействия с инструментарием и агрегированием данных, это позволяет пользователю создавать произвольный комплексный анализ состояния управляемой памяти JVM.

По словам команды, это точка входа пользователя в GCToolkit, которая скрывает детали внутренних модулей в нескольких вызовах методов. В дополнение к API, есть еще два модуля: модуль синтаксического анализа и Vert.x. Модуль Parser основан на наборе регулярных выражений и кода, написанного на считаться самым надежным анализатором журналов ГХ.

Бэкэнд обмена сообщениями на основе Vert.x использует две шины сообщений: первый передает данные из источника данных. Текущая реализация передает строки журнала из файла журнала GC. Потребителями этой шины являются анализаторы, которые преобразуют данные из источника данных в события, которые представляют цикл GC или безопасную точку. Эти события публикуются во второй шине сообщений: шине событий. После этого подписчики шины событий могут быть уведомлены и обработать интересующие их события.

Парсер генерирует дискретные события JVM, позволяющий писать код для сбора и анализа данных об этих событиях. Чтобы упростить сбор данных и анализ файлов журнала GC, GCToolkit предоставляет простую структуру агрегирования. Тип данных, которые пользователи хотят собирать, или тип анализа, который они хотят выполнить, остается на усмотрение пользователя. Например, чтобы фиксировать события паузы для анализа занятости кучи, агрегатор фиксирует событие, извлекает соответствующие данные и передает данные в агрегат.

Это объединяет данные в значимом анализе, например, об общей занятости кучи после сборки мусора. Полученные данные могут быть представлены в виде графика, таблицы или другого, более удобного для пользователя формата. Что еще более важно, по мнению команды, неоптимальная конфигурация сборщика приведет к тому, что приложение будет требовать больше ЦП и памяти, что ухудшит взаимодействие с конечным пользователем. Другими словами, плохо настроенный коллектор часто означает более дорогое время выполнения и недовольство пользователей.

В связи с растущим интересом Microsoft к платформе Java, фокус с открытым исходным кодом это также увеличивает преимущества для сообщества Java. Внеся значительный вклад в перенос macOS M1 и Windows на Arm, Microsoft подтвердила свою приверженность OpenJDK, представив собственную версию OpenJDK и присоединившись к рабочей группе Eclipse Adoptium (ранее известной как AdoptOpenJDK).

Сделав GCToolkit открытым исходным кодом, Microsoft пытается предоставить лучший способ увидеть внутреннюю часть JVM в том, как она обрабатывает сборщик мусора. и выделение памяти. Лучшая видимость позволяет лучше конфигурировать, что приносит пользу как конечным пользователям приложения, так и техническому персоналу, отвечающему за его управление.

Простой API и простые в использовании механизмы вывода обещают улучшить задачу чтения журналов GC, предоставляя различные механизмы для анализа, извлечения и визуализации данных.

источник: https://devblogs.microsoft.com


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.