У меня есть приложение, которое я создаю в Swing. У него есть прокручиваемый и масштабируемый компонент диаграммы, который я могу панорамировать и увеличивать. Все гладко, за исключением того, что иногда пользовательский интерфейс останавливается примерно на 750 мс, и я не знаю почему. Это не всегда происходит, но иногда что-то происходит в приложении, и оно начинает останавливаться примерно раз в 6-8 секунд.
Кажется довольно ясным, что на EDT помещается какое-то событие, которое запускается примерно за 750 мс, что не должно происходить.
Как мне конкретно описать EDT? Что я действительно хотел бы сделать, так это получить что-то, что будет выводиться в журнал или System.out каждый раз, когда событие запускается в EDT, с общим количеством времени, которое оно заняло. Есть ли способ сделать это?
Или есть какой-нибудь инструмент, который сделает это для меня и даст мне журнал всего, что работает на EDT, и сколько времени это займет?
Я бы хотел просмотреть этот журнал, посмотреть на все, что занимает много времени, и найти проблему.