StatPX, API1, API2 | Статистика хаба |
Здравствуйте, гость ( Вход | Регистрация )
StatPX, API1, API2 | Статистика хаба |
3.2.2009, 13:20
Сообщение
#81
|
|
Местный Группа: Неактивированные Сообщений: 908 Регистрация: 26.12.2008 Пользователь №: 1 574 Спасибо сказали: 1406 раз |
StatPX Версия скрипта: 1.06 Версия API: API2 Системные требования: PtokaX 0.4.x.x, Lua 5.1 Автор: alex82 Возможности скрипта:
Скриншоты Web-статистика: Web-статистика встроенная в DataLife Engine: Web-статистика встроенная в PHP-Nuke: Web-статистика встроенная в PHP-Fusion: Скачать: StatPX_1.06.rar ( 47.12 килобайт ) Кол-во скачиваний: 1085 Старые версии StatPX_1.06_beta.rar ( 46.98 килобайт ) Кол-во скачиваний: 73 StatPX_1.05.rar ( 41.68 килобайт ) Кол-во скачиваний: 325 StatPX_1.04a.rar ( 39.93 килобайт ) Кол-во скачиваний: 436 StatPX_1.03_beta2.rar ( 28.07 килобайт ) Кол-во скачиваний: 474 base_converter.rar ( 701 байт ) Кол-во скачиваний: 146 StatPX_1.02.rar ( 45.04 килобайт ) Кол-во скачиваний: 106 (последняя версия, поддерживающая API1) История версий Изменения в версии 1.05: Исправлена ошибка в функции поиска IP (attempt to concatenate global 'IP' (a nil value)) Исправлена ошибка в функции просмотра топа хабберов (attempt to concatenate global 'sRank' (a nil value)) Небольшое исправление в шаблоне gagme.tpl Исправление в логе чата: при отправке в чат сообщения от третьего лица (команда !me), лог чата не обновлялся. Изменения в версии 1.05 beta: Переписаны функции обработки команд. Добавлено отображение возраста хаба. Добавлена возможность просмотра топа шары на хабе. Оптимизация отправки сообщения дня. В систему шаблонов добавлены переключатели, благодаря чему стало возможным отключение некоторых функций веб-статистики без необходимости редактирования шаблонов. Добавлен лог главного чата. Лог отображается в сообщении дня и на странице веб-статистики. Добавлено отображение графиков на странице веб-статистики. Удалена функция удаления префиксов из ников. Настройки скинов убраны из файла конфигурации. Теперь они хранятся непосредственно в папке скина. Удалена возможность выбора скина из меню. Переверстаны шаблоны "По умолчанию" и "Простой". Изменения в версии 1.04: Оптимизация кода веб-статистики. Производительность веб-статистики увеличена на несколько порядков. Добавлена возможность отображения списка заглушек скрипта GagMe. Изменения в версии 1.03 beta2: Исправлена сортировка топа шары. Изменения в версии 1.03 beta: Изменен формат базы данных, благодаря чему потребление памяти снизилось примерно на 20%. Оптимизация и уплотнение кода. Исправлено несколько мелких ошибок. Прекращена поддержка API1. Изменения в версии 1.02: Добавлена возможность отправки сообщения дня со статистикой. Полностью переписана функция GetRanks() - основной источник "тормозов" в скрипте. Изменён алгоритм генерации списка пользователей онлайн, пользователей за сутки, топа шары и топа хабберов. Добавлена чистка памяти по таймеру. Добавлена чистка памяти после каждого обновления Web-статистики (рекомендуется для больших хабов). Добавлена возможность отключения списка пользователей за сутки (рекомендуется для больших хабов). Добавлена функция очистки базы данных. Добавлена поддержка PtokaX 0.4.1.x. Добавлена поддержка PHP-Nuke и PHP-Fusion. Спасибо сказали: Nickolya, intlive, Taulalan, Tsd, Invisible, zzipper, PRIZrak, Артём, p_marozov, Accelerator, Karumo, Rez911, truth, Infinity_Love, Satib, KT315, Alexey, darkangel17, Andrew Frost, Kingston, whuru, Milena, CrazyKiller, PSIX, Saymon21, leonss, Syndicate, hondas, Dimon21, X-Sky, TiGRpp, balbes, Aлзим, Pro009, Werwolf, Naum_Off, forrz, mastersweet, 2man, WINS, TommyKaira, ParKur, Has21, lankmv, доктор ливси, Blazer, xXx-Portal, KCAHDEP, stone, GULAM33, Hashish, мамин_парень, Unique, Nikolaevich, advent |
|
|
20.11.2009, 11:16
Сообщение
#82
|
|
Активный участник Группа: Пользователи Сообщений: 89 Регистрация: 9.6.2008 Из: Крым Пользователь №: 23 Спасибо сказали: 5 раз |
Смотри в файле "data". Изменить данные можно только при выключенном хабе.
У меня сейчас: MaxShare = 93314526786949, и я хотел-бы знать, по какому принципу выставляются эти цифры, чтобы в случае подобного глюка можно было-бы подправить. Климент, я на сегодняшний день, чтобы избежать подобных неприятностей, раз в неделю создаю резервную копию. |
|
|
20.11.2009, 17:46
Сообщение
#83
|
|
Местный Группа: Неактивированные Сообщений: 908 Регистрация: 26.12.2008 Пользователь №: 1 574 Спасибо сказали: 1406 раз |
Хочу подправить но не могу найти где. Задача скинуть рекорд шары,но сохранить данные по пользователям. В файле data.tbl. Переменные MaxShare и MaxShareTime. |
|
|
12.12.2009, 2:59
Сообщение
#84
|
|
МЕДВЕД =) Группа: Пользователи Сообщений: 187 Регистрация: 6.8.2008 Пользователь №: 332 Спасибо сказали: 4 раза |
Код # Ник Всего Сессия Пришел на хаб Покинул хаб Ранг 1 СъёМ 8 м. 0 д. 9 ч. 56 м. 4 час. 33 мин. 9 дек в 0:19 8 дек в 23:31 Житель хаба Вот увидел такую записьдела. Это как так? Первый косяк за почти год использования, вроде... Пришел девятого, а ушел восьмого... На хабе в данный момент отсутствует, иначе было бы "онлайн" |
|
|
12.12.2009, 13:06
Сообщение
#85
|
|
Местный Группа: Неактивированные Сообщений: 908 Регистрация: 26.12.2008 Пользователь №: 1 574 Спасибо сказали: 1406 раз |
Код # Ник Всего Сессия Пришел на хаб Покинул хаб Ранг 1 СъёМ 8 м. 0 д. 9 ч. 56 м. 4 час. 33 мин. 9 дек в 0:19 8 дек в 23:31 Житель хаба |
|
|
22.12.2009, 15:48
Сообщение
#86
|
|
Местный Группа: Неактивированные Сообщений: 908 Регистрация: 26.12.2008 Пользователь №: 1 574 Спасибо сказали: 1406 раз |
Доступна версия 1.04.
Список изменений: *Оптимизация кода веб-статистики. Производительность веб-статистики увеличена на несколько порядков. *Добавлена возможность отображения списка заглушек скрипта GagMe. Сравнение производительности: Сравнение производилось на стандартной конфигурации, скине "По умолчанию" и случайно сгенерированной базе данных. БД генерировалась таким образом, чтобы информация обо всех юзерах попадала в список юзеров за сутки. Тестовая конфигурация: CPU: Intel Core 2 Duo E8400 @3000 MHz RAM: 3 GB DDR2 (2GB+1GB) @800MHz Swap-файл: не используется Остальные характеристики, в общем-то, не имеют значения. Итак, результаты сравнения: 5000 юзеров1.03 beta2 - ~9 сек Исмерения времени производились "на глаз", однако в данной ситуации это не имеет совершенно никакого значения. Желающие повторить эксперимент могут воспользоваться генератором баз данных: base_random.lua ( 2.15 килобайт ) Кол-во скачиваний: 5 |
|
|
22.12.2009, 16:12
Сообщение
#87
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
а в base_random.lua всё же по с ошибкой написано))) Видимо привычка уже)))
Код path = debug.getinfo(1).source:match("^@(.+[/\\]).-$"):gsub("\\","/") Код path = debug.getinfo(1).source:match("^@?(.+[/\\]).-$"):gsub("\\","/")
|
|
|
22.12.2009, 16:40
Сообщение
#88
|
|
Местный Группа: Неактивированные Сообщений: 908 Регистрация: 26.12.2008 Пользователь №: 1 574 Спасибо сказали: 1406 раз |
Setuper
Просто в качестве шаблона скрипта взял конвертор базы, и на эту фигню не обратил внимания. |
|
|
9.1.2010, 20:56
Сообщение
#89
|
|
Местный Группа: Неактивированные Сообщений: 908 Регистрация: 26.12.2008 Пользователь №: 1 574 Спасибо сказали: 1406 раз |
Цитата(Gate001) Все шаблоны отрабатывают четко и пишут инфу в файлики. Все, кроме топа хабберов. Ошибка в функции OnStartup:В логах ошибок как скрипта так и хаба пусто Код function OnStartup() sBot = SetMan.GetString(21) HubName = SetMan.GetString(0) if loadfile(fOnline) then dofile(fOnline) end TmrMan.AddTimer(60000,"MainTimer") TmrMan.AddTimer(iSave*60000,"Save") TmrMan.AddTimer(iCleanMemory*60000,"CleanMemory") UpdateOnline() UpdateHubStats() if bSendMOTD then LoadMOTD() end if WebStat then TmrMan.AddTimer(WebStatUpdate*60000,"WebTimer") TmrMan.AddTimer(TopHubbersUpdate*60000,"BuildTopHubbers") if AllowChangeSkins and loadfile(fTplConfig) then dofile(fTplConfig) end LoadTemplates() if next(tUserStat) then BuildTopHubbers() end BuildWebStat() else UpdateUserStats() end end меняем на: Код function OnStartup()
sBot = SetMan.GetString(21) HubName = SetMan.GetString(0) if loadfile(fOnline) then dofile(fOnline) end TmrMan.AddTimer(60000,"MainTimer") TmrMan.AddTimer(iSave*60000,"Save") TmrMan.AddTimer(iCleanMemory*60000,"CleanMemory") UpdateOnline() UpdateHubStats() if bSendMOTD then LoadMOTD() end if WebStat then if AllowChangeSkins and loadfile(fTplConfig) then dofile(fTplConfig) end LoadTemplates() TmrMan.AddTimer(WebStatUpdate*60000,"WebTimer") TmrMan.AddTimer(TopHubbersUpdate*60000,"BuildTopHubbers") if next(tUserStat) then BuildTopHubbers() end BuildWebStat() else UpdateUserStats() end end |
|
|
12.1.2010, 1:49
Сообщение
#90
|
|
Продвинутый участник Группа: Пользователи Сообщений: 107 Регистрация: 23.11.2008 Из: Сергиев Посад Пользователь №: 1 178 Спасибо сказали: 9 раз |
Стало очень интересно и решил спросить...
Почему колличество хабов у пользователей в статистике (default) отображеться в некотором странном виде (20/3/0) Можно ли сделать отображение "нормальным"? (23) Или это с чем то связанно? Пробовал менять код 'RawFunctions.lua' Код hubs = Tag:match("H:(%d+/%d+/%d+),") На Код hubs = Tag:match("H:(%d+),") Ничего не вышло =(( Всместо цифр был ? знак =(( Ну да я незнаю Lua Поэтому и обращаюсь
Прикрепленные файлы
|
|
|
12.1.2010, 4:21
Сообщение
#91
|
|
Местный Группа: Неактивированные Сообщений: 908 Регистрация: 26.12.2008 Пользователь №: 1 574 Спасибо сказали: 1406 раз |
DrakonSP
Первое число - хабы, на котором юзер зарегистрирован, второе - не зарегистрирован, третье - оператор. Соответственно, для того, чтобы отображалось одно число, надо сложить три . Код local h1,h2,h3 = Tag:match("H:(%d+)/(%d+)/(%d+),")
if h1 then hubs = tonumber(h1)+tonumber(h2)+tonumber(h3) end |
|
|
12.1.2010, 9:04
Сообщение
#92
|
|
Продвинутый участник Группа: Пользователи Сообщений: 107 Регистрация: 23.11.2008 Из: Сергиев Посад Пользователь №: 1 178 Спасибо сказали: 9 раз |
DrakonSP Первое число - хабы, на котором юзер зарегистрирован, второе - не зарегистрирован, третье - оператор. Соответственно, для того, чтобы отображалось одно число, надо сложить три . Код local h1,h2,h3 = Tag:match("H:(%d+)/(%d+)/(%d+),") if h1 then hubs = tonumber(h1)+tonumber(h2)+tonumber(h3) end Пасиба всё работает а как будет правильно? заменить строчку Код hubs = Tag:match("H:(%d+/%d+/%d+),") на Код local h1,h2,h3 = Tag:match("H:(%d+)/(%d+)/(%d+),") if h1 then hubs = tonumber(h1)+tonumber(h2)+tonumber(h3) end или добавить вслед за ней? Просто работает так и так, а как правильно незнаю =(( Сорри, если нублю =)) может мелочь, но интересна =)) |
|
|
14.1.2010, 3:23
Сообщение
#93
|
|
Продвинутый участник Группа: Пользователи Сообщений: 107 Регистрация: 23.11.2008 Из: Сергиев Посад Пользователь №: 1 178 Спасибо сказали: 9 раз |
При отлючении скрипта, в Web-статистике отображаеться:
"(скрипт остановлен)" Но кроме "tophubbers.html?quot; и "daily.html?quot; Как сделать что бы и там отображалось? Вопрос тупой, я это и сам понмаю, но очень хотелось бы... Спасибо! Можно ли в "Пользователи, посетившие хаб за прошедшие сутки" добавить их количество? Если незатруднит для нового кода как сделать? Потому что старый вариант уже не катит. И для "Пользователи на хабе" тоже было бы не плохо Ошибка в коде поиска по нику... Нажмите для просмотра Цитата elseif cmd == tCmd.SearchNick then local nick = string.match(data, "%b<>%s*%p%S+%s(%S+)$") if nick then local msg = "" local results = 0 for i in pairs(tUserNicks) do for i2 in pairs(tUserNicks[i]) do if string.find(i2:lower(),nick:lower()) then msg = msg..BuildStats(i,true) results = results+1 break end end end if results == 0 then Core.SendToUser(user,"<"..sBot.."> Информация по нику "..nick.." не найдена в базе.") else msg = "\r\n\t"..string.rep("=", 40).."\r\n\tРезультат поиска по нику \""..nick.."\": ".."\r\n\t"..string.rep("=", 40).. msg.."\r\n\t"..string.rep("=", 40).."\r\n\t\tВсего записей: "..results.."\r\n\t"..string.rep("=", 40) Core.SendPmToNick(user.sNick,sBot,msg) end else Core.SendToUser(user,"<"..sBot.."> Ошибка: Нужно ввести ник. Введите "..sPrefix..tCmd.StatNick.." <Ник>") end return true Заменить StatNick на SearchNick Так как при ошибке поиска (например не ввели ник) выводит текст: *** Ошибка! Введите !statnick <nick> а надо: *** Ошибка! Введите !searchnick <nick> После Мая идёт Июнь, а у Вас Июль =)) Цитата Months = {"янв","фев","мар","апр","мая","июл","июн","авг","сен","окт","ноя","дек"}
|
|
|
18.1.2010, 2:12
Сообщение
#94
|
|
Site Reliability Engineer Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз |
Если кто захочет переделать чтобы MOTD отправлялось до подключения юзера, то пишу зарание как это сделать. Дабы потом небыло вопросов.
Открываем скрипт StatPX.lua, находим 81 строку function UserConnected(user) и заменяем на function ValidateNickArrival(user,data) перезапускаем скрипт готово. Тестировал на версии скрипта 1.04, и работает отлично на обоих моих хабах. |
|
|
19.1.2010, 0:06
Сообщение
#95
|
|
Продвинутый участник Группа: Пользователи Сообщений: 107 Регистрация: 23.11.2008 Из: Сергиев Посад Пользователь №: 1 178 Спасибо сказали: 9 раз |
|
|
|
19.1.2010, 0:08
Сообщение
#96
|
|
Site Reliability Engineer Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз |
Цитата Если кто захочет, Дабы потом небыло вопросов.
|
|
|
20.1.2010, 0:36
Сообщение
#97
|
|
Местный Группа: Неактивированные Сообщений: 908 Регистрация: 26.12.2008 Пользователь №: 1 574 Спасибо сказали: 1406 раз |
Saymon
Цитата находим 81 строку function UserConnected(user) и заменяем на function ValidateNickArrival Так делать нельзя - статистика будет искажаться, и нагрузка на хаб повысится.Цитата Заменить StatNick на SearchNick Цитата После Мая идёт Июнь, а у Вас Июль =)) Мдя, много идиотских ошибок я умудрился наделать... Надо будет новую версию склепать. |
|
|
20.1.2010, 0:39
Сообщение
#98
|
|
Site Reliability Engineer Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз |
Цитата - статистика будет искажаться, и нагрузка на хаб повысится Неделю тестирую не замечал ничего подобнова. Ну да автору виднее)) |
|
|
20.1.2010, 0:57
Сообщение
#99
|
|
Местный Группа: Неактивированные Сообщений: 908 Регистрация: 26.12.2008 Пользователь №: 1 574 Спасибо сказали: 1406 раз |
Версия 1.04a - исправлены все ошибки, замеченные в версии 1.04 (см. предыдущие сообщения). Ссылка на скачивание - в первом посте.
Цитата Неделю тестирую не замечал ничего подобнова Какая методика тестирования?PS. Если очень хочется отправлять сообщение дня до полного входа юзера на хаб, то в функцию ValidateNickArrival нужно вынести код, отвечающий только за отправку сообщения, а не тащить туда всё подряд: Код if bSendMOTD then function ValidateNickArrival(user) Core.GetUserAllData(user) if LastUpdate+iUpdateTime*60 < os.time(os.date("*t")) then UpdateUserStats() end msg = GetMOTD(user) Core.SendToUser(user,"<"..sBot.."> "..msg) end end |
|
|
20.1.2010, 1:02
Сообщение
#100
|
|
Site Reliability Engineer Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз |
Цитата function UserConnected(user) и заменяем на function ValidateNickArrival(user,data) и пртосто врубил скрипт ну и просто посматривая что и как эм.. а твой код это я понимаю пример как надо?Как его куда? ps. У меня только одно не понятно, рекорд шары 2.004 PB, при рекорде 155 юзеров. Но это начал показывать до этой замены. |
|
|
31.1.2010, 0:31
Сообщение
#101
|
|
Site Reliability Engineer Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз |
alex82, Можно пожалуйста умный совет?
Идея такова: по некоторой тупости моего провайдера пишу новый сайт хаба для локалки с более простым дизайном. Вот как сделать чтобы одновременно можно было использовать к примеру два шаблона default и default2 ? И чтобы сгенирированые файлы сохранялись в две директории Например \dc-info\stats\ и \coolhub.info\mainhub\ Можно ли такое сделать? Если да то как? |
|
|
Похожие темы
|
Сейчас: 23.11.2024, 14:36 |