ПафНутиЙ-Блог » Модули » ShowStat - модуль показа статистики генерации страниц для DLE 9.3-10.0

ShowStat - модуль показа статистики генерации страниц для DLE 9.3-10.0

19.07
49
13992
ShowStat - модуль показа статистики генерации страниц для DLE 9.3-10.0

Модуль ShowStat - простой модуль для тех, кто хочет в удобной форме наблюдать за статистикой генерации станиц DLE сайта.
Отличительными особенностями модуля являются отсутствие каких-либо правок движка и ведение наглядного лог-файла.
Писался для своих нужд, но думаю пригодится не только мне.

Теперь немного подробностей о модуле


Возможности модуля:
  • Вывод количества запросов и времени их выполнения,
  • Вывод самих запросов, выполненных на странице (опционально),
  • Вывод времени генерации страницы и создания шаблона,
  • Вывод объёма затраченной оперативной памяти (если сервер поддерживает эту функцию),
  • Ведение лог-файла со всеми вышеперечисленными данными, его уничтожение по достижении заданного размера (можно отключить ведение лога),
  • Очистка кеша сайта непосредственно из блока (для группы 1)

Возможности модуля почти такие же как если бы вы в index.php в предпоследней строке прописали бы GzipOut(1);. В этом случае в конец страницы будут вставлены html-комментарии с данными статистики, что, согласитесь, совсем не наглядно при разработке или отладке сайта.
И вот для удобства представления статистики был написан модуль ShowStat, а так же добавлена возможность ведения лог-файла в формате html, который можно легко посмотреть в браузере.
ShowStat - модуль показа статистики генерации страниц для DLE 9.3-10.0

ShowStat - модуль показа статистики генерации страниц для DLE 9.3-10.0


Установка и настройка модуля описаны в файле how_to_install.txt




Обновлено: 17 июня 2013
(Модуль обновлён до версии 2.6 (поддержка dle 10.0))

Похожие материалы

  • LessForDle - модуль автокомпиляции LESS-файлов для DataLife Engine
  • DLE-Faker — модуль для заполнения БД тестовыми данными
  • Вместо воскресных сниппетов №5
  • RSS Comments Pro модуль rss-ленты комментариев для DLE
Закрыть

Комментировать могут только зарегистрированные пользователи

+

Комментарии

shmel1985
shmel1985 20 сентября 2012 17:12
Ответов: 0 #2196
Какэто сделать?
Для мониторинга запросов к БД в файлах:

engine/classes/mysqli.class.php
engine/classes/mysql.class.php

раскомментировать строки:
============================================================================================
// $this->query_list[] = array( 'time' => ($this->get_real_time() - $time_before),
// 'query' => $query,
// 'num' => (count($this->query_list) + 1));
============================================================================================
shadow6630
shadow6630 13 ноября 2012 20:48
Ответов: 2 #2363
Че-то начал модуль некоректно работать, время выполнения запроса неверно показывает
ПафНутиЙ
ПафНутиЙ 13 ноября 2012 21:47
Ответов: 1 #2364
Странно, что такую ошибку выдаёт, похоже на неправильный результат округления.
А в лог что пишет?
shadow6630
shadow6630 14 ноября 2012 14:28
Ответов: 0 #2366
Выяснили в чем может быть речь и как решить проблему ?
shadow6630
shadow6630 13 ноября 2012 22:17
Ответов: 10 #2365
Вот http://s019.radikal.ru/i629/1211/f1/0fd2963e3cf0.png
ПафНутиЙ
ПафНутиЙ 14 ноября 2012 14:45
Ответов: 9 #2367
По хорошему нужно смотреть сайт. А так - попробуйте на пустом движке на этом же хостинге, если ошибка повторяется - проблема в хостинге, если нет - проблема в конфликте чегонибудь с чемтотам )) В общем нужно смотреть.
Но не думаю, что это сколь либо критично для работы сайта. Модуль предназначен для отладки всётаки.
shadow6630
shadow6630 14 ноября 2012 14:51
Ответов: 8 #2368
Я перешел на дебиан 6, может в этом речь, может просто убрать округление времени, а то какраз и нужно для отладки, а времени запроса не вижу(
ПафНутиЙ
ПафНутиЙ 15 ноября 2012 02:08
Ответов: 7 #2369
А попробуйте стандартными средствами посмотреть время запросов. (GzipOut(1); в index.php)
shadow6630
shadow6630 15 ноября 2012 11:52
Ответов: 6 #2370
GzipOut(1) показывает лиш общее время, а отдельно по запросам -нет
ПафНутиЙ
ПафНутиЙ 15 ноября 2012 11:58
Ответов: 5 #2371
берём это время, вычитаем оттуда сумму зелёных цифр, остаток будет равен ошибочному результату.
P.S. Если не ошибаюсь запрос на скриншоте - дефолтный DLEшный, зачем его отслеживать? Или нужные запросы тоже так показывает?
shadow6630
shadow6630 15 ноября 2012 12:21
Ответов: 4 #2372
Выщитывать время это не вариант) И бывает что не один запрос так показывается. Да, на скрине дефолтный запрос, но такую ошибку может выдавать на любом запросе. Я тут поставил Query List v.1.0, так он показывает верно, вот скрин http://shot.qip.ru/00ac3d-2RX3vn8of/ , как я понял проблема в округлении. Какраз те запросы , что у вас неверно показываются , есть самими легкими и проблема как я понял в том что скрипт не может округлить число в котором после запятой четыри ноля
ПафНутиЙ
ПафНутиЙ 15 ноября 2012 12:56
Ответов: 3 #2373
Попробуйте в модуле заменить
$time_query .= "".$total_time_query[$i][time] > 0.01."" ? "<p><span style='color:red'>".round($total_time_query[$i][time],5)."</span> сек. - [ ".htmlspecialchars($total_time_query[$i][query])." ]</p>" : "<p><span style='color:green'>".round($total_time_query[$i][time],5)."</span> сек. - [ ".htmlspecialchars($total_time_query[$i][query])." ]</p>";}

на
			$color = ($total_time_query[$i][time] > 0.01) ? 'red' : 'green';
			$rounted_time = sprintf("%.8f", $total_time_query[$i][time]);
			$time_query .= "<p><span style='color:".$color."'>".$rounted_time."</span> сек. - [ ".htmlspecialchars($total_time_query[$i][query])." ]</p>";}

проверить не могу сейчас, но работать должно. Вечером обновлю модуль.
shadow6630
shadow6630 15 ноября 2012 13:04
Ответов: 2 #2374
Вот теперь работает, большое спасибо)
ПафНутиЙ
ПафНутиЙ 15 ноября 2012 13:06
Ответов: 1 #2375
Отлично! Вечером обновлю.
shadow6630
shadow6630 15 ноября 2012 13:09
Ответов: 0 #2376
Теперь даже можна отследить супер быстрые запросы wink
ПафНутиЙ
ПафНутиЙ 15 ноября 2012 18:51
Ответов: 0 #2377
Обновил модуль.
OTM
OTM 23 ноября 2012 22:36
Ответов: 3 #2386
Простите, а что вы сочли за неверный результат/ не корректную работу ?
Если записи вида 6,0E-5 ; 9,0E-5 - то они корректны. 6,0E-5 = 6*10^-5 ( шесть на десять в минус пятой степени) = 0,00006
Изначально сделано было, по всей видимости для того, чтобы вывод результата выполнения очень быстрых запросов не превышал 6-ти символов
shadow6630
shadow6630 23 ноября 2012 22:47
Ответов: 2 #2387
Ну несовсем удобно каждый "легкий" запрос высчитывать на калькуляторе + значение ставало красным что уже есть ошибкой
OTM
OTM 23 ноября 2012 23:01
Ответов: 1 #2388
простите, а что высчитывать на калькуляторе? ))
-5 степень = 5 нулей перед цифрой
-7 степень = 7 нулей
если что-то типа 9,4E-5 = 0,000094
3,2E-14 = 0,000000000000032
На самом деле такой вывод напорядок компактней и удобней, ибо нули считать не приходится)) сразу видно сколько их, по цифре после Е-

Ну а красным наверное выделено для того чтобы показать что эти запросы очень быстрые, посему, если вы ищите тяжёлые запросы, можете смело не обращать внимания на красные.
shadow6630
shadow6630 23 ноября 2012 23:07
Ответов: 0 #2389
Какраз наоборот, тяжелые запросы в этом модуле позначаются красным цветом. В общем не будем разводить демагогию, в виде что щас удобнее и понятнее.
Cinema-Мир
Cinema-Мир 18 марта 2013 02:05
Ответов: 3 #2726
а что на 9.8 не фурычит, или это я туплю?
ПафНутиЙ
ПафНутиЙ 18 марта 2013 10:51
Ответов: 2 #2727
Проверю вечером, но не работать не должно.
Cinema-Мир
Cinema-Мир 18 марта 2013 18:14
Ответов: 1 #2728
Разобрался уже. -Там в css косяк какой-то, блок не разворачивается, меняю .base-stat { display: none; } на .base-stat { display: block; } и получаю нужную мне инфу winked
ПафНутиЙ
ПафНутиЙ 18 марта 2013 19:28
Ответов: 0 #2729
это у тебя js не отработал значит.
mako145
mako145 22 апреля 2013 00:08
Ответов: 2 #2783
Здравствуйте! А этот модуль на UTF-8 только идет? А то у меня всякие символы отображаются
Адрес страницы и запросы в БД (опционально)	Дата	Вемя выполнения скрипта
NaNСЃ	Время создания С?аблона
NaNс	Кол-во запросов
19	Время выполнения запросов
NaNс	Затраты памяти
NaNРњР±

вот так. Сам файл перекодировал в ANCI но все так же отображается, как быть? У меня cp1251.
ПафНутиЙ
ПафНутиЙ 22 апреля 2013 08:08
Ответов: 1 #2786
если эти символы в фале лога - удалите его.
Если показываются на сайте - посмотрите что написао в самом файле модуля - возможно пи перекодировке попортилась кириллица.
mako145
mako145 22 апреля 2013 15:29
Ответов: 0 #2789
О все, теперь норм. показывает. Я когда первый раз зашел и посмотрел лог, у меня файл showstat.php был в UTF-8, а после я его перевел на cp1251, вот сегодня удалил лог файл и обратно зашел на сайт посмотреть лог, норм. показывает. Спасибо за модуль!
Gopr
Gopr 23 июня 2013 21:39
Ответов: 1 #2998
У меня к вам два вопроса:
1. Средние кол-во запросов = 3 и средние затраты памяти = 2.74Мб это немного?
2. /favicon.ico всегда 3 запроса это считается нормальным? Просто 3 запроса на картинку как то много :/
<link rel="shortcut icon" href="/templates/Default/images/favicon.png"/> При этом картинка png а не ico да и не в корне сайта а в шаблоне.
ПафНутиЙ
ПафНутиЙ 23 июня 2013 22:40
Ответов: 0 #2999
1 - нормально.
2 - favicon не может пораждать mysql запросы, это картинка.
Yamakasi
Yamakasi 7 июля 2013 21:50
Ответов: 5 #3042
объясните плиз далёкому, что значит "Для отключения логирования статистики в строку подключения прописать &nolog=y"

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.