У меня есть механизм для генерации данных профиля нескольких разных типов. Существуют ли инструменты для импорта данных профиля из внешних источников и создания полезных интерактивных визуализаций? Кажется, что существует много инструментов профилирования, которые все реализуют свои собственные механизмы рендеринга, но на самом деле нет большой разницы между необработанными данными, которые ими управляют.
Пока что я просто имитировал вывод текста gprof, который более полезен, чем люди считают. Но это мало что говорит.
Примеры: xperf для Windows, Shark для Mac (хотя я не использовал его), SpeedTracer для Google Chrome, oprofileui и многие другие.
gprof2dot является примером того, что я ищу, в том смысле, что он принимает выходные данные от нескольких генераторов данных профиля, но (1) я не нахожу его вывод ужасно полезным, особенно для больших профилей; и (2) оптимально, я бы хотел интерактивный веб-интерфейс.
Еще лучше, есть ли стандартный формат данных профиля, который я могу использовать для подачи нескольких инструментов?
Начнем с того, что у меня есть базовые данные динамического графа вызовов с таймингами настенных часов и счетчиками вызовов, но я также хотел бы заменить счетчики ЦП, число пропусков кэша, количество сбоев страниц и т. Д. Для информации о времени. Я также хотел бы объединить данные профиля из нескольких источников (например, отдельные данные профиля из C ++ и инструменты профилирования сценариев, связанные с помощью временных отметок или явных маркеров.)
Обновление : я немного углубился в SpeedTracer. Он определяет формат импорта / экспорта для своих данных. Поэтому, если ничего другого, я могу сериализовать в этот формат и загрузить свои данные в SpeedTracer. Я не в восторге от того, что связан с Chrome и GWT, но это хорошее начало.