GWT Grid - как измерить время рендеринга на клиенте - PullRequest
3 голосов
/ 19 января 2010

у нас есть приложение, разработанное на Java, с GWT, обеспечивающим фронтент. Приложение используется для различных аппаратных спецификаций, например, также на старых машинах. Конечно пользователи жалуются на производительность.

Мы хотели бы собрать данные профилирования от реальных пользователей. Пока что мы можем измерить чистую длительность на стороне сервера (это легко) и длительность сетевого обхода (не так просто, но мы справились).

Самым сложным для нас является измерение времени, прошедшего между «нажатием пользователем кнопки поиска» и «показом первых xxx строк сетки».

Есть идеи?

Спасибо Хольгер

Ответы [ 4 ]

2 голосов
/ 19 января 2010

Я бы поигрался с созданием отметки времени в начале загрузки страницы и отметки времени в конце. Я считаю, что «начало» будет «onModuleLoad», а конец будет после добавления вашего последнего элемента / виджета. Я надеюсь, что дал вам хорошее представление о том, с чего начать. Вы можете перемещать эти временные метки, чтобы максимально увеличить разницу во времени. Если вы уверены, что получаете время рендеринга, вы можете сохранить разницу во времени в базе данных, чтобы каждый раз, когда кто-то использовал вашу страницу, вы получали больше пользовательских данных.

0 голосов
/ 22 ноября 2018

Вы можете использовать класс Duration , доступный на стороне клиента GWT. com.google.gwt.core.client.Duration

Это служебный класс для измерения прошедшего времени на стороне клиента.

Пример использования:

Duration duration = new Duration();
doSomething(); //Returns the number of milliseconds that have elapsed since this object was created.

GWT.log("time taken for doSomething() to complete: "+duration.elapsedMillis());

Документация

Дополнительные примеры

0 голосов
/ 21 января 2011

На данный момент, насколько я знаю, решения с полным стеком не существует.То, что вы могли бы построить внутри, - это комбинация удаленной регистрации, облегченных измерений gwt и магии отложенного связывания.

Первая часть состоит в том, чтобы понять, что все события RPC и последовательность инициализации уже измерены, и как подключиться к этому:http://code.google.com/webtoolkit/doc/latest/DevGuideLightweightMetrics.html

Вторая часть добавляет магию отложенного связывания для измерения времени выполнения метода onSuccess () обратных вызовов приложения.Вдохновение (но не решение) можно найти здесь: http://josephmarques.wordpress.com/2010/11/29/performance-monitoring-using-gwt/

Финальная часть возвращается клиенту.Здесь вы можете использовать gwt-log или новые возможности регистрации gwt.Не уверен, что они реализовали это в журналировании JDK.

Я думал о том, чтобы создать встраиваемую библиотеку с открытым исходным кодом сегодня, поскольку мы недавно решили точно такую ​​же проблему и портируем ее на GWT 2.0:)

Но я думаю, что от идеи до реализации потребуется некоторое время ...

Надеюсь, это поможет.

Дмитрий

0 голосов
/ 19 января 2010

Попробуйте использовать SpeedTracer , это плагин Google Chrome, разработанный самой Google

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...