Как объединить файлы *.svg, созданные асинхронным профилировщиком Java?
Я использую kubectl-flame для запуска async-profiler на модулях k8s.
При профилировании микросервиса, который запускает несколько реплик, у меня есть отдельный пламенный график *.svg для каждого модуля.
ВОПРОС: Есть ли способ объединить эти файлы *.svg в один график?
1 ответ
Начиная с версии 2.0, выпущенной более года назад, async-profiler больше не генерирует выходные данные. Теперь он создает Flame Graphs на холсте HTML 5. Такие графики меньше по размеру и намного более отзывчивы по сравнению с
svg
.
Что касается слияния, то это намного проще с другим форматом, поддерживаемым асинхронным профайлером — свернутыми стеками. Использовать
-o collapsed
опция профилировщика для вывода вывода в этом формате. Затем, чтобы объединить профили в формате, просто соедините соответствующие выходные файлы.
Граф пламени можно построить из
collapsed
вывод с преобразователем , включенным в пакет async-profiler. Вот как это сделать:
java -cp converter.jar FlameGraph input.collapsed output.html