w23 / xash3d-fwgs

Vulkan Ray Tracing fork of Xash3D FWGS engine. Intended to be merged into master at some point in the future.
160 stars 16 forks source link

profiler: export data to be readable with external tools #487

Open w23 opened 1 year ago

w23 commented 1 year ago

E.g.:

  1. Export all instrumental profiler scope events to chrome://trace or https://profiler.firefox.com/ format.
  2. Export all time series (#486)

Can help with more detailed analysis. Also testers might be able to send these captured profiler to developers.

0x4E69676874466F78 commented 1 month ago

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

w23 commented 1 month ago

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

А что там именно было, ты помнишь? Емнип мы попробовали, с ходу не очень получилось по-быстрому, и мы просто забили пока.

0x4E69676874466F78 commented 1 month ago

Оно тормозило, 200 лет загружалось, не удалось данные сходу подогнать под реалии профайлеров.

w23 commented 1 month ago

Оно тормозило, 200 лет загружалось, не удалось данные сходу подогнать под реалии профайлеров.

Я на настоящей работе такое делал сколько-то лет назад, оно в принципе делается и даже как-то не полностью бесполезно. То есть добить можно, если будет необходимость.

0x4E69676874466F78 commented 1 month ago

Я могу как у меня выкроется время и желание в рамках улучшения фронтэнда рендертестов добавить там загрузку файла статистики с рисованием каких-нибудь графиков. Какой там формат? Я уже не помню к чему ты пришёл.

w23 commented 1 month ago

Я могу как у меня выкроется время и желание в рамках улучшения фронтэнда рендертестов добавить там загрузку файла статистики с рисованием каких-нибудь графиков. Какой там формат? Я уже не помню к чему ты пришёл.

Это пока не горит всё -- строго говоря неясно, что именно и как рисовать, потому что пока не сформулирована чётко цель, что именно мы хотим видеть, и как это должно сказываться на нашем поведении.

В первом приближении это могли бы быть графики конкретных метрик/скоупов тупо от времени, плюс процентили, плюс всё то же самое только в терминах процентов от времени кадра.

Про формат можно не париться -- легко выгрузить в любой удобный для загрузки формат, хоть бинарный, хоть json. Равняться на что-либо устоявшееся, вида ff profiler или chrome trace нет смысла -- они предельно уёбищные и неудобные.

(в этом месте у меня возникает вихрь идей, как выглядел бы такой анализ, и как кайфовенько и просто можно было бы рисовать через какой-нибудь D3.js... а ещё можно попробовать выгружать во что-нибудь совместимое с гуём tracy, там сразу можно выгода скидки розыгрыш призы)

Или ты про формат, какие данные там вообще лежат и как? Базово -- тупо scope begin, scope end события с метками времени, и всё. Всё остальное получается уже чтением этих данных, слежением за стеком, вычитанием меток друг из друга, и пр.