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

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

19.07
52
30 376
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))

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

Комментарии

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

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
Че-то начал модуль некоректно работать, время выполнения запроса неверно показывает
ПафНутиЙ
ПафНутиЙ 13 ноября 2012 21:47
Странно, что такую ошибку выдаёт, похоже на неправильный результат округления.
А в лог что пишет?
shadow6630
shadow6630 13 ноября 2012 22:17
Вот http://s019.radikal.ru/i629/1211/f1/0fd2963e3cf0.png
shadow6630
shadow6630 14 ноября 2012 14:28
Выяснили в чем может быть речь и как решить проблему ?
ПафНутиЙ
ПафНутиЙ 14 ноября 2012 14:45
По хорошему нужно смотреть сайт. А так - попробуйте на пустом движке на этом же хостинге, если ошибка повторяется - проблема в хостинге, если нет - проблема в конфликте чегонибудь с чемтотам )) В общем нужно смотреть.
Но не думаю, что это сколь либо критично для работы сайта. Модуль предназначен для отладки всётаки.
shadow6630
shadow6630 14 ноября 2012 14:51
Я перешел на дебиан 6, может в этом речь, может просто убрать округление времени, а то какраз и нужно для отладки, а времени запроса не вижу(
ПафНутиЙ
ПафНутиЙ 15 ноября 2012 02:08
А попробуйте стандартными средствами посмотреть время запросов. (GzipOut(1); в index.php)
shadow6630
shadow6630 15 ноября 2012 11:52
GzipOut(1) показывает лиш общее время, а отдельно по запросам -нет
ПафНутиЙ
ПафНутиЙ 15 ноября 2012 11:58
берём это время, вычитаем оттуда сумму зелёных цифр, остаток будет равен ошибочному результату.
P.S. Если не ошибаюсь запрос на скриншоте - дефолтный DLEшный, зачем его отслеживать? Или нужные запросы тоже так показывает?
shadow6630
shadow6630 15 ноября 2012 12:21
Выщитывать время это не вариант) И бывает что не один запрос так показывается. Да, на скрине дефолтный запрос, но такую ошибку может выдавать на любом запросе. Я тут поставил Query List v.1.0, так он показывает верно, вот скрин http://shot.qip.ru/00ac3d-2RX3vn8of/ , как я понял проблема в округлении. Какраз те запросы , что у вас неверно показываются , есть самими легкими и проблема как я понял в том что скрипт не может округлить число в котором после запятой четыри ноля
ПафНутиЙ
ПафНутиЙ 15 ноября 2012 12:56
Попробуйте в модуле заменить
$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
Вот теперь работает, большое спасибо)
ПафНутиЙ
ПафНутиЙ 15 ноября 2012 13:06
Отлично! Вечером обновлю.
shadow6630
shadow6630 15 ноября 2012 13:09
Теперь даже можна отследить супер быстрые запросы wink
ПафНутиЙ
ПафНутиЙ 15 ноября 2012 18:51
Обновил модуль.
OTM
OTM 23 ноября 2012 22:36
Простите, а что вы сочли за неверный результат/ не корректную работу ?
Если записи вида 6,0E-5 ; 9,0E-5 - то они корректны. 6,0E-5 = 6*10^-5 ( шесть на десять в минус пятой степени) = 0,00006
Изначально сделано было, по всей видимости для того, чтобы вывод результата выполнения очень быстрых запросов не превышал 6-ти символов
shadow6630
shadow6630 23 ноября 2012 22:47
Ну несовсем удобно каждый "легкий" запрос высчитывать на калькуляторе + значение ставало красным что уже есть ошибкой
OTM
OTM 23 ноября 2012 23:01
простите, а что высчитывать на калькуляторе? ))
-5 степень = 5 нулей перед цифрой
-7 степень = 7 нулей
если что-то типа 9,4E-5 = 0,000094
3,2E-14 = 0,000000000000032
На самом деле такой вывод напорядок компактней и удобней, ибо нули считать не приходится)) сразу видно сколько их, по цифре после Е-

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

вот так. Сам файл перекодировал в ANCI но все так же отображается, как быть? У меня cp1251.
ПафНутиЙ
ПафНутиЙ 22 апреля 2013 08:08
если эти символы в фале лога - удалите его.
Если показываются на сайте - посмотрите что написао в самом файле модуля - возможно пи перекодировке попортилась кириллица.
mako145
mako145 22 апреля 2013 15:29
О все, теперь норм. показывает. Я когда первый раз зашел и посмотрел лог, у меня файл showstat.php был в UTF-8, а после я его перевел на cp1251, вот сегодня удалил лог файл и обратно зашел на сайт посмотреть лог, норм. показывает. Спасибо за модуль!
Gopr
Gopr 23 июня 2013 21:39
У меня к вам два вопроса:
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
1 - нормально.
2 - favicon не может пораждать mysql запросы, это картинка.
Yamakasi
Yamakasi 7 июля 2013 21:50
объясните плиз далёкому, что значит "Для отключения логирования статистики в строку подключения прописать &nolog=y"

Добавить комментарий

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

Информация

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