myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 

> CountGraphic, API2 | Диаграмма посещаемости хаба по запросу отправляется в приват

Рейтинг 5 V
Ksan
сообщение 6.9.2009, 5:54
Сообщение #1


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 723
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 656 раз




Название скрипта: CountGraphic
Версия API: API 2
Автор: Trans (изм. на Ksan)
Описание: Каждые полчаса (по умолчанию) записывает в файл таблицу со столбцами графика посещаемости (наполнненности) хаба, при запросе через меню отправляет в приват график от 1 суток до 30 ( админ, ник которого вписан в настройках скрипта, может запросить график до 365 суток).
Запросы начнут удовлетворяться не ранее, чем через сутки. big_smile.gif
В силу особенностей текстового режима клиента столбцы графика добавляются сверху вниз и столбец расположен горизонтально. в начале столбца дата-время, в конце - число юзеров.
Для просмотра удобнее уменьшать масштаб содержания окна через CTRL+колесико_мышки.
Полагаю, что представляет интерес для анализа динамики наполнения хаба по времени суток, по дням и месяцам...и вообще, просто для интереса. big_smile.gif

PS Исправил ошибку, внесенную при корректировке скрипта, перезалил.

Апгрейд:
--- Версия 1.3 (08-09-09 20:20)
--- Теперь в таблицу записывается только дата-время и число, а столбцы строятся при отправке по запросу
--- При выдаче по запросу столбец за нулевой час суток строится из других элементов для выделения насыщенностью цвета, и рядом с числом юзеров пишется дата
--- Исправлена ошибка в условии с профилем юзера - вместо квадратных скобок были круглые big_smile.gif
--- Эта версия совместима с предыдущей, то есть, ранее созданная часть таблицы будет обрабатываться одинаково с последующими частями и выдаваться корректно по запросу.
Так что если у кого таблица уже есть, то не заменяйте пустой из моего архива.

--- (18-09-09 19:40)
--- Исправил 1 косячок (раньше при старте инициировал приват не того бота)
--- Добавил скрипт под API 1.
--- Теперь оба скрипта в 1 архиве.

Картинки ниже - из предыдущей версии.


Вот примеры (одна картинка без изменения масштаба, вторая - с уменьшением):
Прикрепленный файл  CountGraph_1.jpg ( 171.21 килобайт ) Кол-во скачиваний: 732
Прикрепленный файл  CountGraph_2.jpg ( 109.61 килобайт ) Кол-во скачиваний: 633


P.S.: У архивного файла расширение почему-то при скачивании оказывается не .RAR, а .ZIP (хотя я закачивал именно с .RAR). Так что если у кого-то архив не раскрывается с ошибкой, переименуйте расширение на .RAR (вместо .ZIP) и пробуйте снова.
Прикрепленные файлы
Прикрепленный файл  CountGraphic_1.3_api1___api2.rar ( 3.82 килобайт ) Кол-во скачиваний: 363
 
Go to the top of the page
+Quote Post
2 страниц V   1 2 >  
Начать новую тему
Ответов
district
сообщение 6.9.2009, 7:02
Сообщение #2


Постоялец
******

Группа: Пользователи
Сообщений: 454
Регистрация: 17.10.2008
Из: Новосибирск
Пользователь №: 825
Спасибо сказали: 90 раз




Аналитические инструменты - это здорово )) И прогресс, как говорится, налицо. big_smile.gif
Есть пожелание : сделать горизонтальные разделители для суток и умолчательное суток, например, 5.
Такой график, по-моему, называют гистограммой... если ничего не путаю.
Go to the top of the page
+Quote Post
Berkut
сообщение 6.9.2009, 14:22
Сообщение #3


Продвинутый участник
****

Группа: Пользователи
Сообщений: 129
Регистрация: 21.12.2008
Пользователь №: 1 502
Спасибо сказали: 36 раз




Идея хороша. Самое главное - реализовать её гораздо проще, чем горизонтальный вариант, который у меня есть (выдрал из древнейшего анонимного скрипта, так что сейчас уж и не установишь, кто папа).
Автору в догонку: оригинальная идея Ваша?


Спасибо сказали:
Go to the top of the page
+Quote Post
ZZZZZ
сообщение 6.9.2009, 20:08
Сообщение #4


Начинающий
*

Группа: Пользователи
Сообщений: 28
Регистрация: 8.4.2009
Из: АЛАТЫРЬ
Пользователь №: 2 967
Спасибо сказали: 0 раз




[21:06] Синтаксис D:\Program Files\0.4.1.1\scripts\CountGraphic_1.2_api2.lua:37: 'then' expected near '='
Go to the top of the page
+Quote Post
Invisible
сообщение 6.9.2009, 20:21
Сообщение #5


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 248
Регистрация: 14.7.2008
Из: Хабаровск
Пользователь №: 193
Спасибо сказали: 40 раз




Trans
Код
CountGraphic_1.2_api2.lua:37: 'then' expected near
Go to the top of the page
+Quote Post
Ksan
сообщение 7.9.2009, 2:20
Сообщение #6


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 723
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 656 раз




Цитата(Berkut @ 6.9.2009, 18:22) *
Идея хороша. Самое главное - реализовать её гораздо проще, чем горизонтальный вариант, который у меня есть (выдрал из древнейшего анонимного скрипта, так что сейчас уж и не установишь, кто папа).
Автору в догонку: оригинальная идея Ваша?

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

2 ZZZZZ и INVISIBLE:
Сорри, я после первой отправки файла на форум решил маленько улучшить и кое-что исправил, и забыл в одном месте "then" и там же рядом вместо "==" написал "=". Возможно, это обнаружится ещё в одном месте, где есть "if bPMadm". Строки должны выглядеть так:

if bPMadm == true then

Перезалил в первом сообщении.
Go to the top of the page
+Quote Post
ZZZZZ
сообщение 7.9.2009, 6:14
Сообщение #7


Начинающий
*

Группа: Пользователи
Сообщений: 28
Регистрация: 8.4.2009
Из: АЛАТЫРЬ
Пользователь №: 2 967
Спасибо сказали: 0 раз




вот теперь запустился.
Go to the top of the page
+Quote Post
Berkut
сообщение 7.9.2009, 18:38
Сообщение #8


Продвинутый участник
****

Группа: Пользователи
Сообщений: 129
Регистрация: 21.12.2008
Пользователь №: 1 502
Спасибо сказали: 36 раз




Цитата(Trans @ 7.9.2009, 3:20) *
Моя.

Спасибо.
Go to the top of the page
+Quote Post
Ksan
сообщение 7.9.2009, 22:39
Сообщение #9


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 723
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 656 раз




Сегодня весь день на работе думал про то, что надо в таблице хранить только число юзеров, а диаграмму строить при запросе только....с такими мыслями и завалился спать после работы. big_smile.gif и тут бац, встал и узнаю, что district уже у себя в хабе сделал такое..
Короче, тоже надо сделать. Будет хорошая экономия памяти.
Go to the top of the page
+Quote Post
district
сообщение 8.9.2009, 5:26
Сообщение #10


Постоялец
******

Группа: Пользователи
Сообщений: 454
Регистрация: 17.10.2008
Из: Новосибирск
Пользователь №: 825
Спасибо сказали: 90 раз




Да, взял на себя смелость подшаманить немного.
Вот вариант для API1 со следующими изменениями :

1.Добавлены суточные разделители (см. картинку)
2.Сделана жесткая привязка к получасовым отрезкам
3.Изменен формат сохраняемых данных
4.Сделан безусловный вывод всех имеющихся последних данных, т.е. нет отбоя
в случае, если не накоплена база за хотя бы 1 сутки или данных меньше,
чем соответствовало бы запрошенному кол-ву суток.
Можно тестировать.

Изменение от 02.11.09 Поддержка моей версии этого скрипта прекращена
Go to the top of the page
+Quote Post
ZZZZZ
сообщение 8.9.2009, 6:33
Сообщение #11


Начинающий
*

Группа: Пользователи
Сообщений: 28
Регистрация: 8.4.2009
Из: АЛАТЫРЬ
Пользователь №: 2 967
Спасибо сказали: 0 раз





Цитата(ZZZZZ @ 7.9.2009, 7:14) *
вот теперь запустился.

Сразу подумал ,что полчаса для интервала записи инфы многовато, поставил 10 минут. И заметил что, задавая вывод за 1 сутки - выдает за 8 часов, за 2 - 16 часов и 3 - за 24 часа, т.е в 3 раза больше записей делается (скрипт стал работать в 3 раза быстрее))). И решил, что не стоит изменять это время). Хотя можно было бы и почаще делать запись.
Go to the top of the page
+Quote Post
Ksan
сообщение 8.9.2009, 7:03
Сообщение #12


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 723
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 656 раз




Цитата(district @ 8.9.2009, 09:26) *
Вот вариант для API1 со следующими изменениями :

Тогда добавь к своему аттачу и файл под API2, плиз...
Пусть будет твоя версия для обеих API.

Цитата(ZZZZZ @ 8.9.2009, 10:33) *
Сразу подумал ,что полчаса для интервала записи инфы многовато, поставил 10 минут. И заметил что, задавая вывод за 1 сутки - выдает за 8 часов, за 2 - 16 часов и 3 - за 24 часа, т.е в 3 раза больше записей делается (скрипт стал работать в 3 раза быстрее))). И решил, что не стоит изменять это время). Хотя можно было бы и почаще делать запись.

Если 10 минут ставишь, то надо тут:
Код
    local iClmnRequest = iDays*48
умножать не на 48, а на 3 раза больше (144):
Код
    local iClmnRequest = iDays*144
Go to the top of the page
+Quote Post
district
сообщение 8.9.2009, 14:06
Сообщение #13


Постоялец
******

Группа: Пользователи
Сообщений: 454
Регистрация: 17.10.2008
Из: Новосибирск
Пользователь №: 825
Спасибо сказали: 90 раз




Цитата
Пусть будет твоя версия для обеих API.

Перевел конвертером, просмотрел, вроде все правильно. Скрипт запускается, директорию создает и пустую таблицу - сохраняет. А чтобы тестировать - живой хаб под четвертой Птокой нужен, у меня его, увы, нет, только тестовый.
Добавил к предыдущему своему посту.


Спасибо сказали:
Go to the top of the page
+Quote Post
Ksan
сообщение 8.9.2009, 16:37
Сообщение #14


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 723
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 656 раз




Обновил версию до 1.3, переделав под новый формат таблицы.
Выделил слегка столбец нулевого часа суток, плюс добавил число-месяц отдельно к этому столбцу.
Исправил ошибку с профилем (была опечатка - вместо квадратных скобок - круглые).
Для сомневающихся - код изменений свой, не от district'а big_smile.gif

Хотя надо бы тоже сделать этот пункт:
Цитата
4.Сделан безусловный вывод всех имеющихся последних данных, т.е. нет отбоя
в случае, если не накоплена база за хотя бы 1 сутки или данных меньше,
чем соответствовало бы запрошенному кол-ву суток.


Перезалил в первом сообщении.
Go to the top of the page
+Quote Post
степашка
сообщение 8.9.2009, 17:19
Сообщение #15


Продвинутый участник
****

Группа: Пользователи
Сообщений: 133
Регистрация: 18.9.2008
Из: Москва
Пользователь №: 555
Спасибо сказали: 5 раз




классный скрипт! спасибо. поставил. тащусь. ошибок не выскакивает. апи1
Go to the top of the page
+Quote Post
FBR
сообщение 8.9.2009, 18:00
Сообщение #16


Начинающий
*

Группа: Пользователи
Сообщений: 11
Регистрация: 26.6.2008
Пользователь №: 86
Спасибо сказали: 0 раз




district
При запросе кем либо 99 строк и более скрипт вылетает с ошибкой scripts\CountGraphic_1.2__API1.lua:97: attempt to call global 'tProfiles' (a table value)
Go to the top of the page
+Quote Post
district
сообщение 8.9.2009, 18:16
Сообщение #17


Постоялец
******

Группа: Пользователи
Сообщений: 454
Регистрация: 17.10.2008
Из: Новосибирск
Пользователь №: 825
Спасибо сказали: 90 раз




Как сказал бы М.Задорнов, "я всегда говорил и буду говорить".."таблицы профилей это мракобесие" big_smile1.gif
Переправлено и передобавлено в обоих версиях.
Go to the top of the page
+Quote Post
FBR
сообщение 8.9.2009, 18:25
Сообщение #18


Начинающий
*

Группа: Пользователи
Сообщений: 11
Регистрация: 26.6.2008
Пользователь №: 86
Спасибо сказали: 0 раз




district
теперь по профилям изменений нету
tProfiles = {
[-1] = 0, --"Незарегистрированные пользователи"
[0] = 1, --"Мастер"
[1] = 1, --"Оп"
[2] = 1, --"Вип"
[3] = 0, --"Зарегистрированные пользователи"
Go to the top of the page
+Quote Post
district
сообщение 8.9.2009, 18:36
Сообщение #19


Постоялец
******

Группа: Пользователи
Сообщений: 454
Регистрация: 17.10.2008
Из: Новосибирск
Пользователь №: 825
Спасибо сказали: 90 раз




... и еще раз передобавлено.
9 сентября 2009
... и еще раз передобавлено, устранена еще кучка недочетов.


Спасибо сказали:
Go to the top of the page
+Quote Post
thehawk
сообщение 18.9.2009, 2:14
Сообщение #20


Активный участник
***

Группа: Пользователи
Сообщений: 63
Регистрация: 6.9.2009
Из: Беларусь
Пользователь №: 4 371
Спасибо сказали: 2 раза




Конвертнул на Api 1 с помощью ридми в объявлениях (добавки Core. и т.п.) и теперь выдает такое
Цитата
C:\dc_server\scripts\CountGraphic_1.3_api1.lua:58: attempt to index local 'f' (a nil value)

Но скрипт запускается и менюшка вроде как есть


Спасибо сказали:
Go to the top of the page
+Quote Post

2 страниц V   1 2 >
Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

Collapse

> Похожие темы

  Тема Ответов Автор Просмотров Последнее сообщение
No New Posts Topic has attachmentsCountGraphic
Диаграмма посещаемости хаба по запросу отправляется в приват
0 Saymon21 3 856 24.8.2010, 18:38 Посл. сообщение: Saymon21

 



RSS Сейчас: 10.12.2022, 9:19