Часовой пояс: UTC + 3 часа




Куратор(ы):   Biker   



Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 111 • Страница 1 из 61  2  3  4  5  6  >
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Куратор темы
Статус: Не в сети
Регистрация: 24.10.2002
Откуда: Петербург
FAH log converter

Программа - конвертер логов из формата фах-клиента 7 версии в формат 6, понятный FahSpy (ради чего все и затевалось) и, вероятно, другим мониторам.

Текущая версия: 0.3.8 (скачать с оверов) | (скачать с файлообменника)
Список изменений:
+ исправлено определение времени получения задания (не учитывались часовые пояса)
+ исправлены ошибки расчета дедлайна
+ исправлены ошибки определения номера проекта
+ добавлены имя юзера и номер команды в v6-лог (раньше не было)
+ добавлено определение типа клиента (GPU / CPU)
+ добавлена подсветка ошибок в логе
+ немного поменял формат лога конвертера
+ работает с verbosity=5 (вроде бы :D)

#77

Возможности:
* Преобразует лог 7 клиента в формат 6 клиента. Логи пишутся в каталог _logs_v6 в рабочей папке клиента.
* Поддержка многоклиентских конфигураций. Для каждого folding slot'a создается свой каталог (например FS01 или FS02) с комплектом необходимых файлов (FAHlog.txt + unitinfo.txt). Тестировалось максимум на трех слотах: 1 SMP + 2 GPU, но должно работать и с большим количеством.
* Обеспечивает вычисление FahSpy'ем ППД для gpu2 заданий, что 7 клиент не может сделать самостоятельно .

Настройка программы
В прошлых версиях возникали сложности с настройкой конвертера, и я кардинально решил эту проблему. Теперь настроек нет вообще :) Программа автоматически находит работающий F@H-клиент, FahSpy (должен быть запущен) и psummary (по-прежнему используется фахспай'ный). Конвертированные логи пишутся в каталог _logs_v6 в рабочей папке клиента (то есть рядом с логом 7 версии) - все пути указаны в таблице. Вам остается настроить на них FahSpy.

Особенности работы
1. При старте конвертера должен быть запущен FahSpy, чтобы программа нашла и распарсила psummary.html (список проектов)
2. Psummary читается только один раз - при запуске конвертера. Если в процессе работы FahSpy скачает новый, нужно перезапустить FLC, чтобы подхватились изменения.
3. На конвертированные логи FLC ставит блокировку, как фолдинг-клиент, чтобы FahSpy считал их работающими. Раз в минуту блокировка снимается, чтобы записать в лог новую информацию. Это регулярно замечает FahSpy и сообщает об остановке клиента, поэтому я отключаю в FahSpy эти уведомления (Настройки > События и автоматизация > Реакция на события). В будущем этот момент я переделаю, блокировка будет постоянной от старта программы до окончания работы клиента.
4. Для экономии процессорного времени обрабатывается не весь лог, а только часть с текущими заданиями.
5. В переходные моменты (начало или конец счета, а так же загрузка нового задания) FahSpy может неправильно определять само задание (номер проекта) и, соответственно, ППД.
6. В unintinfo.txt прогресс всегда равен 0%. Это нормально, т.к. для вычисления ППД FahSpy использует текст FAHlog.txt, а прогресс из unintinfo смысловой нагрузки не несет, поэтому конвертер его не обрабатывает.

Баги
Я не программист, и хотя я постарался решить все проблемные ситуации, наверняка какие-то ошибки остались. Но программа работает и свою функцию выполняет, а это главное :)
FLC тестировался в системах W7 и WXP, и только в клиенте версии 7.3.6 со стандартным значением verbosity.


Вложения:
Комментарий к файлу: FahLogConverter v.0.3.8
FahLogC.zip [361.53 КБ]
Скачиваний: 261


Последний раз редактировалось Biker 14.05.2013 8:57, всего редактировалось 6 раз(а).

Партнер
 

Member
Статус: Не в сети
Регистрация: 25.12.2007
Откуда: Красноярск
Biker, молодец!!! Сам хотел такой написать, но лень победила

Добавлено спустя 1 минуту 34 секунды:
Biker писал(а):
В этой версии я попытался их побороть дополнительными проверками
Попробуй назначить своей программе права отладчика (debugger).

_________________
Доктор едет-едет сквозь снежную равнину,
Порошок целебный людям он везет.


 

Куратор темы
Статус: Не в сети
Регистрация: 24.10.2002
Откуда: Петербург
опробовал два клиента (smp+gpu) в одном логе. понятно, что в логе исходно мешанина, но, оказалось, это нисколько не мешает. конвертер чудесным (ибо я о двух и более клиентах даже и не думал, когда его писал) образом поочередно обрабатывает тот и другой. чья запись была последней в логе, по тому клиенту логи и будет преобразованы в формат v6. и FahSpy правильно, хотя и по очереди, показывает инфу и ппд :lol:

Fergity писал(а):
Попробуй назначить своей программе права отладчика (debugger).
поясни, о каком дебаге речь.


 

Member
Статус: Не в сети
Регистрация: 25.12.2007
Откуда: Красноярск
Biker, в visual c++ права отладчика можно задать в свойствах проекта.
В общем случае можно, как описано здесь (строка "Листинг функции, дающей привилегии отладчика нашей программе")
На знаю, насколько это будет полезно..
Также надо обращать внимание на то, как ты получаешь доступ к файлам. В терминах WinAPI это будут флаги режима совместного доступа FILE_SHARE_READ и FILE_SHARE_WRITE. Кроме того после завершения операций чтения/записи желательно сразу "отключаться" от файлов (ф-я CloseHandle в WinAPI)

_________________
Доктор едет-едет сквозь снежную равнину,
Порошок целебный людям он везет.


 

Куратор темы
Статус: Не в сети
Регистрация: 24.10.2002
Откуда: Петербург
Fergity
я только Delphi умею, к сожалению :)

Fergity писал(а):
Также надо обращать внимание на то, как ты получаешь доступ к файлам. В терминах WinAPI это будут флаги режима совместного доступа FILE_SHARE_READ и FILE_SHARE_WRITE. Кроме того после завершения операций чтения/записи желательно сразу "отключаться" от файлов (ф-я CloseHandle в WinAPI)

а правильно не получится, потому что я специально постоянно держу файл заблокированным на запись для имитации работы фах-клиента. и отпускаю только когда вношу изменения. вот сейчас написал и понял насколько бредово звучит, но блокировку удобно делать filestream'ом, а fahlog я формирую и пишу другим способом :crazy:

Добавлено спустя 4 минуты 38 секунд:
поток я честно освобождаю перед записью, но раз в неделю файл освобождается с небольшим опозданием, когда я уже пытаюсь туда писать.
теперь там есть проверка на занятость и ожидание, пока он не освободится.


 

Member
Статус: Не в сети
Регистрация: 25.12.2007
Откуда: Красноярск
Biker писал(а):
специально постоянно держу файл заблокированным на запись для имитации работы фах-клиента
Не уверен, что это необходимо.
Когда фахспай читает логи через сеть, он не может определить, открыты ли файлы каком-либо процессом. Именно поэтому неосторожно убитый на удаленном компьютере клиент отображается в фахспае как работающий (в логе последней строкой остается [09:05:33] Completed 435000 out of 500000 steps (87%))

Хотя о чём я говорю? Я даже твою программу не скачивал, а уж исходников тем более не видел :crazy:

_________________
Доктор едет-едет сквозь снежную равнину,
Порошок целебный людям он везет.


 

Куратор темы
Статус: Не в сети
Регистрация: 24.10.2002
Откуда: Петербург
Fergity писал(а):
Когда фахспай читает логи через сеть, он не может определить, открыты ли файлы каком-либо процессом.

как нет?? у меня безошибочно определяет. стоит только блокировку снять, FahSpy считает клиент выключенным. по сети.


 

Member
Статус: Не в сети
Регистрация: 25.12.2007
Откуда: Красноярск
Biker тебе виднее :-)

Добавлено спустя 55 минут 40 секунд:
Во, как раз пришлось перезагрузить комп кнопочкой reset.
Запустил виртуальную машину, но не запустил фах:
#77

_________________
Доктор едет-едет сквозь снежную равнину,
Порошок целебный людям он везет.


 

Member
Статус: Не в сети
Регистрация: 04.12.2011
Откуда: Санкт-Петербург
Похоже программа только для консольной версии :-(

_________________
Это Питер, детка =)


 

Куратор темы
Статус: Не в сети
Регистрация: 24.10.2002
Откуда: Петербург
Sir_N_Drew
программа для 7 версии фах-клиента, а он имеет в составе и консоль, и графическую оболочку. пусть скриншот в первом сообщении никого не смущает :)

#77


 

Member
Статус: Не в сети
Регистрация: 04.12.2011
Откуда: Санкт-Петербург
Biker куда засунуть FahSpy (вместе с предварительно переделанным ini), чтобы он заработал? А то он на D:\Program Files... ломится.

Добавлено спустя 3 минуты 3 секунды:
Тэкс, я походу про Fah log converter. Пойду за FAHSpy'ем :D

_________________
Это Питер, детка =)


 

Куратор темы
Статус: Не в сети
Регистрация: 24.10.2002
Откуда: Петербург
Sir_N_Drew
порядок примерно такой:
1. ставишь FahSpy куда хочешь. этот путь назовем %FahSpy_path%. запускаешь FahSpy, обновляешь базы, FahSpy качает psummary.html, сохраняет его в %FahSpy_path%\Data\
2. ставишь FAH log converter куда хочешь
3. запускаешь FAH log converter. видишь ругань на ненайденные файлы.
4. настраиваешь путь к psummary: правой кнопкой на список клиентов > Settings. указываешь путь к psummary.html, сохраняешь.
5. настраиваешь путь к логу фах-клиента: правой кнопкой на список клиентов > Edit. в source указать путь к логу 7 клиента, в target можно туда же. галочки v7 log и convert должны стоять.
6. выключаешь FAH log converter.
7. запускаешь FAH log converter, и вот уже теперь он должен заработать

или все то же самое прописать руками в log_conv.ini перед первым запуском FAH log converter, тогда заработает сразу

8. в FahSpy добавляешь клиента, указываешь ему путь к логу, который target в FAH log converter

вроде ничего не забыл


 

Member
Статус: Не в сети
Регистрация: 28.08.2006
Откуда: Рязань
Как то так, пункты 6 и 7 не делал #77

_________________
suum cuique


 

Куратор темы
Статус: Не в сети
Регистрация: 24.10.2002
Откуда: Петербург
дедлайн, совпадающий с временем получения задания - признак либо отсутствующего psummary (жаль, на скрине правой части окна с таблицей psummary не видно), либо отсутствия проекта в psummary у докторов (тоже бывает, но реже), либо моего косяка (в этом месте ошибок пока не видел :) )

Добавлено спустя 7 минут 54 секунды:
и спасибо за отзыв!
если бы еще остальные десять скачавших fah log converter тоже написали работает/не работает, было б вообще здорово :)


 

Member
Статус: Не в сети
Регистрация: 04.12.2011
Откуда: Санкт-Петербург
Biker спасибо за подробную инструкцию (неплохо бы в шапку поднять), но я решил пока ничего не ставить - пусть работает и логи пишет. В крайнем случае руками посчитаю.

_________________
Это Питер, детка =)


 

Member
Статус: Не в сети
Регистрация: 28.08.2006
Откуда: Рязань
Biker
Э, хотел показать правую часть окна, кстати оно не расширяется, чтобы полностью показать, программа что то для меня неизвестное рапортует. FahSpy рапортует, якобы остановлен клиент и дедлайн просрочен, вернее старые показатели. #77

_________________
suum cuique


 

Member
Статус: Не в сети
Регистрация: 04.12.2011
Откуда: Санкт-Петербург
А нельзя конвертер в новую версию ФахСпая запихать?

_________________
Это Питер, детка =)


 

Куратор темы
Статус: Не в сети
Регистрация: 24.10.2002
Откуда: Петербург
Куба писал(а):
Э, хотел показать правую часть окна, кстати оно не расширяется, чтобы полностью показать
кнопка "psummary <" по замыслу должна скрывать таблицу и обратно показывать. при старте программы таблица развернута. работает, нет? :)

Куба писал(а):
программа что то для меня неизвестное рапортует.

говорит, что 11.00 не число, т.к. у тебя в системе десятичный разделитель - запятая, в таблице у докторов - точка, а моя программа самостоятельно разбираться с этим не обучена, см. Особенности работы, п.2:
Biker писал(а):
2. если в региональных настройках десятичный разделитель не точка, будет ошибка при парсинге psummary.html
отсюда и невозможность сформировать правильный unitinfo.txt

Куба писал(а):
FahSpy рапортует, якобы остановлен клиент
я буквально на долю секунды снимаю блокировку, чтобы перезаписать FAHlog.txt, а FahSpy это уже просек и решил, что клиент выкл. :-x тоже надо как-то переделать, чтобы не анноил ежеминутными сообщениями.

Добавлено спустя 19 минут 27 секунд:
Sir_N_Drew писал(а):
А нельзя конвертер в новую версию ФахСпая запихать?

не надо портить хорошую программу такими костылями :)
лучше, чтобы FahSpy нативно поддерживал логи 7 клиента. автора уже просили. в личной беседе он говорил, что заинтересованности в доработке нет.


 

Member
Статус: Не в сети
Регистрация: 04.12.2011
Откуда: Санкт-Петербург
Biker есть проблема (возможно связана с тем, что лог лежит в AppData)
#77

_________________
Это Питер, детка =)


 

»-5500р на VEGA 56 Gigabyte, дешевле нет
»RX 570 по нереально низкой цене. Да, она нереальная :)
»Распродажа GTX 1070 Gaming в Регарде
»149 320р - цена игрового CPU Intel. Смотри каменты!
»!!! GTX 1050 Ti ASUS Cerberus за копейки!!!
»-13000р на Gigabyte 1080 Ti - цены капитально падают

 

Куратор темы
Статус: Не в сети
Регистрация: 24.10.2002
Откуда: Петербург
Sir_N_Drew
что-то непонятное :roll: в какой момент происходит, хотя бы примерно?
Sir_N_Drew писал(а):
возможно связана с тем, что лог лежит в AppData
лог чей - фах-клиента или конвертера?


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 111 • Страница 1 из 61  2  3  4  5  6  >
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  



Лаборатория














Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan


Яндекс.Метрика