Очистка журналов - страница 2

 
joo:
Хмм. А у меня, после очередной переустановки системы (Win7, UAC отключен, МТ5 не переустанавливаю - лежит себе в своей папочке), после первого запуска тестера,  MetaTester.exe прописывается как сервис и стартуется  автоматически при запуске системы.

Это Вы его сами в какой-то момент установили как сервис. Ставить сервисы на локальном рабочем компьютере неразумно.

Запустите metatester.exe вручную заново и деинсталлируйте всех сервисных агентов. Терминал сам запускает процессы локальных агентов по необходимости.

 
Renat:

Не нужно удалять ни лог при работающем тестере, ни сам тестер.

MetaTester.exe находится в памяти после первого запуска тестирования и ждет следующей задачи, подняв кеши в память. Это дает ускорение до 4х секунд на повторных одиночных тестах. Если новая задача не поступает в течение 5 минут, то метатестер автоматически выгружается из памяти, освобождая все ресурсы. Также он выгружается при закрытии терминала.

Сам терминал перед запуском тестера проверяет объем логов и периодически их удаляет, если они превышают 1 гб. Кроме того, терминал автоматически стирает логи тестера старее 3х дней. Тем самым поддерживается чистота в рабочем каталоге терминала.

То, как сейчас работает metatester, я вижу. А вот зачем он блокирует логи - совершенно не понятно. Делать это не нужно! После выполнения операций с файлами - освобождайте их.

Ждать 5 минут между запусками тестов (чтобы удалить лог) - недопустимая расточительность. Время - деньги, если помните.

Как там терминал подчищает за собой логи - совсем не интересно. Важно иметь возможность удалить логи тогда, когда это нужно пользователю, чтобы не ползать в логе по простыне из отладочной выдачи за несколько прогонов, которые уже канули в лету. Неужели это не понятно?

Между прочим в терминале есть команда очистки логов. Почему то она чистит только окно логов и не удаляет их физически на диске. Было бы правильно доработать.


 

Вы несколько странным делом занимаетесь - ручной очисткой логов. У Вас что - пары гигов на винте нет для временных логов или логи для других целей используете?

Я уже несколько раз объяснял - тестер и терминал сами заботятся о своем мусоре и подчищают его самостоятельно. Трейдеру не нужно вручную лазать и подтирать журналы после каждого запуска теста.

Тестер совершенно разумно держит текущий файл лога заблокированным, ибо у него есть задача - быстро и очень много в него писать, а не заниматься раздачей лога остальным.


Команду очистки сделаем с физическим удалением всех логов. Тестер в момент простоя также будет освобождать файл логов.

Подождите следующего билда, пожалуйста.

 
Renat:

Вы несколько странным делом занимаетесь - ручной очисткой логов. У Вас что - пары гигов на винте нет для временных логов или логи для других целей используете?

Я уже несколько раз объяснял - тестер и терминал сами заботятся о своем мусоре и подчищают его самостоятельно. Трейдеру не нужно вручную лазать и подтирать журналы после каждого запуска теста.

Тестер совершенно разумно держит текущий файл лога заблокированным, ибо у него есть задача - быстро и очень много в него писать, а не заниматься раздачей лога остальным.


Команду очистки сделаем с физическим удалением всех логов. Тестер в момент простоя также будет освобождать файл логов.

Подождите следующего билда, пожалуйста.

Странны как раз ваши заявления и решения. Очень даже логично удалять то, что мешает анализу. Дело не в гигабайтах, а в том, чтобы на глаза попадало только то, что было записано от последнего прогона (ждать неизвестно сколько времени, пока терминал "решит" подчистить за собой - неприемлемо). Сейчас приходится искать некие события в логе, и если он оброс историей, то совершенно нет уверенности в актуальности просматриваемого участка (предлагаете засекать вручную время запуска каждого прогона и потом сличать с записями? - нафик-нафик такое "удобство"!). Логи сейчас используются в целях отладки. Если б был отладчик в тестере - я б вообще не занимался логами.

Задача терминала и тестера - не навязывать трейдеру условия работы, а предоставлять инструмент, которым можно было бы пользоваться удобно для трейдера.

Быстро и много писать в лог программа может без блокировки. Если вы не в курсе, как это делается - это недоработка с вашей стороны.

 

Я так понимаю, Вы не в курсе встроенных функций по работе с логами агентов?

Мы реализовали очень хорошие и удобные функции по поиску и фильтрации в логах локальных агентов. В результате лазать вручную по *.log файлам приходится гораздо реже.


Логи мы не только имеем писать, но и делаем это эффективно. Благо есть много опыта генерации и работы с гигабайтовым файлами.

 
Renat:

Я так понимаю, Вы не в курсе встроенных функций по работе с логами агентов?

Мы реализовали очень хорошие и удобные функции по поиску и фильтрации в логах локальных агентов. В результате лазать вручную по *.log файлам приходится гораздо реже.

Логи мы не только имеем писать, но и делаем это эффективно. Благо есть много опыта генерации и работы с гигабайтовым файлами.

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

Про умение писать логи - реализация доказывает обратное вашим словам. Опыт, знаете ли, бывает и отрицательным.

В общем, самое правильно решение - сделайте полноценный отладчик, и никто про логи в режиме ad hoc анализа и не вспомнит.

 
marketeer:

...

Логи сейчас используются в целях отладки. Если б был отладчик в тестере - я б вообще не занимался логами.

...

Ещё летом писалось в пожеланиях, что дебагер должен иметь режим тестирования не только в реалтайме, но и на истории (тобишь в тестере).

Работа на истории львиная доля отладки.

Кстати имея такую возможность и визуализатор в тестере не так актуален будет.

 
Renat:

Я так понимаю, Вы не в курсе встроенных функций по работе с логами агентов?

Мы реализовали очень хорошие и удобные функции по поиску и фильтрации в логах локальных агентов. В результате лазать вручную по *.log файлам приходится гораздо реже.


marketeer:

Очень даже в курсе существования этого окна - оно реализовано либо неудобно, либо глючит - пользоваться успешно не удалось.

Чтобы не быть голословным, напишу некоторую конкретику. Внутри отфильтрованных записей лога необходима операция контекстного поиска. В частности, если меня интересует поведение эксперта в окрестностях некоторой сделки, то сейчас найти это место можно только просматривая весь лог "вручную". Если указать номер сделки в качестве фильтра, то показываются только строки, содержащие его, но для анализа нужен контекст. Т.е. требуется, чтобы можно было привычно нажать Ctrl+F - и переместиться в то место, где упоминается искомое (все что было до и после - видно). Нажал F3 - нашел следующее место плюс контекст, и т.д. Поиск нужен в обе стороны - вперед и назад. Само содержимое окна нужно выводить текстом (а-ля мемо), а не листбоксом, чтобы можно было выделить произвольный фрагмент и скопировать в буфер. И еще, объясните плиз, почему это окно модальное!? Вопрос не праздный. Обычно лог анализируешь параллельно с чартом, а сейчас он недоступен из-за лога. И причин для модальности - никаких.