Наткнулся на статью
https://jbachorik.github.io/posts/stackprofile-jfr
Где Jaroslav Bachorik (https://www.linkedin.com/in/jbachorik/) рассказывает про jfr-shell и как это можно использовать и как консольную утилиту для работы с профилированием и как MCP-сервер (как основу для скиллов)
И понял что делаю тоже самое. Я тоже работаю над вопросом "When Did That Hotspot Happen?". Мои скрипты генерируют HTML вместо TUI, но идея та же — получение флейм-графа на основе конкретного временного диапазона, группы потоков и паттерна стектрейса:
🤩Выделить блоки из стектрейсов (например,
SearchSuggestions.getQueryFeatures)🤩Подготовить таймлайн с блоками (сверху)
🤩Определить аномалии (outliers) — это необычно долгие блоки среди всех и среди таких же блоков
🤩Выделить временной диапазон с аномалиями и группу потоков (у меня это в 99% случаев потоки qtp)
🤩Агрегация всех блоков с выбранным именем из этого диапазона времени и группы потоков в итоговый флейм-граф
Я сейчас использую YourKit, но думал все что надо перейти на JFR тоже или сделать такой код чтобы и JFR и YourKit поддерживались. А вот получается для JFR уже есть инструменты. И это очень круто!!
