Select language:

Универсальный просмотрщик логов

<<

Samtorr

Аватара пользователя

Сообщения: 126

Зарегистрирован: 16 июн 2015, 21:45

Машина: Golf II 1.3i

Версия SECU: самодельная SECU-3T


Благодарил (а): 6 раз.
Поблагодарили: 70 раз.

Сообщение 08 апр 2016, 00:27

Универсальный просмотрщик логов

Для девайса из этой темы понадобился просмотрщик логов. Кроме того, хотелось чтобы он понимал и логи секу. В общем, учитывая все возможное разнообразие логов (полей, форматов и т.д.), было решено состряпать свой просмотрщик (поскольку другого не нашлось), в некоторой степени универсальный.
Написан на C#, требует .NET Framework 4 Client. Чтоб заставить его показывать графики нужно задать две вещи - файл шаблона и файл лога. С файлом лога все более менее понятно, жмем File - Open и показываем лог. С файлом шаблона чуть интереснее. Задается просто Settings/Template - Set Template... Программа запоминает шаблон, файл лога нужно переоткрывать при изменении шаблона.
Итак, что такое шаблон и для чего он нужен. Для того чтобы жестко не задавать структуру лог-файла (разделитель, число полей, их порядок и т.д.) решено было сделать конструктор шаблонов, который задает как общие параметры отображения (ось Х, цвет фона и пр.) так и индивидуальные (кривые, толщина, цвет... прочее). В шаблоне ставится соответствие кривой и столбцу данных в лог файле, причем данные можно трансформировать (например, если столбец из сырых данных с АЦП). Кривая добавляется в шаблон кнопкой Add, изменяется кнопкой Modify (чтобы что-то изменить, нужно сначала что-то добавить), удаляется - Delete. Сам шаблон можно открыть - Open, сохранить - Save. Изменение шаблона можно делать по схеме Открыть - Изменить - Пересохранить.
Две основных вкладки настройки шаблона:


Имя кривой пишем в Curve. Выставляем остальные параметры и жмем добавить. Потом не забудьте сохранить шаблон. Маленькое замечание по осям (axis) - их можно не отображать (чтобы не нагромождать графики), на пределы лучше указывать, дабы графики выглядели соразмерно.
Маска нужна для отображения ошибки из поля типа 00001000100, какую маску поставим (ее еще надо включить галочкой), ту ошибку и отловим.
Параметры по оси Х берутся либо из файла (автонумерация не включена) - столбец 0, если там формат времени то автоматом будет время по оси Х, если времени в лог файле нет (лог пишется девайсом по таймеру), то ставим автонумерацию, разрешаем ее, трансформируем нужным образом и отображаем на оси Х.
Например, данные из лог файла во вложении по шаблону 1 (время из файла)

По шаблону 2 (считаем что запись каждые 20 мс)

График интерактивный, можно таскать, ресайзить и т.д. Есть интересное и полезное контекстное меню...
Замечания и предложения приветствуются. Если что непонятно, спрашивайте. Версия пока альфа, потому в файл шаблона и прочие места рецепт от борща вставлять не стоит, хоть основные исключения и обработаны.
Вложения
LogsViewerApp.rar
(169.73 КБ) Скачиваний: 96
<<

STC

Аватара пользователя

Сообщения: 5532

Зарегистрирован: 30 апр 2013, 23:41

Откуда: Ukraine

Машина: AZLK 2140

Версия SECU: самодельная SECU-3


Благодарил (а): 674 раз.
Поблагодарили: 1091 раз.

Сообщение 08 апр 2016, 01:10

Re: Универсальный просмотрщик логов

На .net написан?
Author of the SECU-3™ project http://SECU-3.org. An open source engine control unit / Ignition control system, (C) 2007.
Клуб проекта в Facebook https://www.facebook.com/groups/secu3club
Клуб проекта ВКонтакте https://vk.com/secu3club (вступаем!)
<<

Samtorr

Аватара пользователя

Сообщения: 126

Зарегистрирован: 16 июн 2015, 21:45

Машина: Golf II 1.3i

Версия SECU: самодельная SECU-3T


Благодарил (а): 6 раз.
Поблагодарили: 70 раз.

Сообщение 08 апр 2016, 01:18

Re: Универсальный просмотрщик логов

Да, с использованием свободного компонента zedgraph.
<<

Samtorr

Аватара пользователя

Сообщения: 126

Зарегистрирован: 16 июн 2015, 21:45

Машина: Golf II 1.3i

Версия SECU: самодельная SECU-3T


Благодарил (а): 6 раз.
Поблагодарили: 70 раз.

Сообщение 12 апр 2016, 23:14

Re: Универсальный просмотрщик логов

Немного обновил программу. Теперь это вполне удобный и универсальный инструмент.
Что добавлено:
-возможность быстро переоткрывать одним кликом последний лог (полезно при смене шаблона)
-в меню about можно получить сводку по активному шаблону
-добавились пункты Axis Y view и Curve view позволяющие быстро управлять видимостью осей и кривых. Изменения автоматически сохраняются в активный шаблон
В шаблонах:
-возможность включить сетку
-возможность выбрать столбец Х
-выбор числа пропущенных строк (прореживание файла)
-признак видимости кривой
-возможность отображать скорость изменения параметра dValue/dT . Также задается время dT в мс, если точки по Х в формате DateTime, либо в строчках, если автонумерация, либо по разнице по Х если столбец не в DateTime. Трансформация в этом случае тоже работает и можно привести результат к осмысленной размерности
-исправлены мелкие неточности

Из глюков, а скорее особенность zedgraph - при смене активного шаблона, где ось Х была в формате времени, на шаблон, где ось Х не в формате времени, если текущий масштаб был не default (контекстное меню), возможно некорректное отображение формата оси. Лечится просто - либо закрыть а потом открыть программу после смены шаблона, либо через контекстное установить масштаб default и сделать reopen.
При открытии больших логов, возможно, несколько секунд придется подождать.

Чтобы корректно понимались шаблоны старого образца нужно открыть старый шаблон, а потом сохранить его. При этом кривых видно не будет (их параметр видимости будет false), но через меню Curve View можно будет задать видимость нужных кривых, либо в самом конструкторе шаблонов.
При первом запуске нужно установить путь к активному шаблону и открыть лог через open.
Примерный вид:

Вопросы по использованию, по логике работы и о замеченных глюках - пишем тут.
Вложения
LogsViewerApp_1_1_0_0.rar
(173.09 КБ) Скачиваний: 98
<<

STC

Аватара пользователя

Сообщения: 5532

Зарегистрирован: 30 апр 2013, 23:41

Откуда: Ukraine

Машина: AZLK 2140

Версия SECU: самодельная SECU-3


Благодарил (а): 674 раз.
Поблагодарили: 1091 раз.

Сообщение 13 апр 2016, 00:18

Re: Универсальный просмотрщик логов

Круто :!:
Author of the SECU-3™ project http://SECU-3.org. An open source engine control unit / Ignition control system, (C) 2007.
Клуб проекта в Facebook https://www.facebook.com/groups/secu3club
Клуб проекта ВКонтакте https://vk.com/secu3club (вступаем!)
<<

alvikagal

Аватара пользователя

Сообщения: 2384

Зарегистрирован: 18 сен 2013, 01:58

Откуда: Украина, Павлоград

Машина: ВАЗ-21099 1,5л.

Версия SECU: самодельная SECU-3T


Благодарил (а): 295 раз.
Поблагодарили: 399 раз.

Сообщение 13 апр 2016, 15:30

Re: Универсальный просмотрщик логов

Еще не пользовался, но есть пожелания для маленьких экранов - подписи осей сделать рядом с осью, чтобы полезная область была больше. Спасибо за прошу.
60-2/SECU/ДКЗ/бенз-газ/ДД/ДТВ/УДК/ШДГ/ВЗ
Отчёт - viewtopic.php?f=6&t=236
Бортовой компьютер 20*04 - viewtopic.php?p=19996#p19996
SD card logger - viewtopic.php?f=12&t=1029
<<

Samtorr

Аватара пользователя

Сообщения: 126

Зарегистрирован: 16 июн 2015, 21:45

Машина: Golf II 1.3i

Версия SECU: самодельная SECU-3T


Благодарил (а): 6 раз.
Поблагодарили: 70 раз.

Сообщение 13 апр 2016, 17:33

Re: Универсальный просмотрщик логов

Тут тоже есть нюансы - в зависимости от длины названия, текст может налезать на градуировку оси, если отображать на графике то может залазить на кривые, отображать прямо на конце оси - подвинет левое или верхнее поле... Если чего, есть возможность через шаблон вообще убрать подпись. Размер шрифта надписей настраивается (в шаблон пока не вводил дабы не загромождать его), его можно сделать поменьше. Но самая главная проблема, непонятно как смещать подписи осей, стандартных методов zedgraph не предоставляет, а лезть в его исходники.... ))) ну Вы понимаете ))
Плюс учитывая возможность гибко масштабировать сам график и окно программы - не думаю что это большая проблема...
<<

Samtorr

Аватара пользователя

Сообщения: 126

Зарегистрирован: 16 июн 2015, 21:45

Машина: Golf II 1.3i

Версия SECU: самодельная SECU-3T


Благодарил (а): 6 раз.
Поблагодарили: 70 раз.

Сообщение 14 апр 2016, 19:22

Re: Универсальный просмотрщик логов

Теперь несколько оптимизированная версия ))
Замечание по скорости открытия лога - версия 1.1.0.0 открывала файл на около 6000 записей порядка 6 секунд. Методом Copy/Paste я увеличил размер лога до 60000 записей - 13.6 Мбайт. Открывала она его 2мин 05 сек (на моем компьютере). Мне показалось что это слишком много, решил пройтись по коду студийным профайлером, в итоге нашел несколько временеемких строчек, которые затесались в цикл обработки строк, где им не место. Переместив их куда положено, получил следующие результаты: 6000 записей - менее секунды, практически сразу, 60000 - 6 секунд. Разница впечатляющая ))
После открытия версии работают с одинаковой скоростью. О скорости, на моем компе при 60000 записях (при периоде записи 100мс это 100 мин лога) и 5 кривых, график можно вполне комфортно рассматривать. Легкие подтормаживания есть, но не критичные. Если увеличить лог еще в 2 раза (120000), время открытия около 10-11 сек, но рассматривать график уже неудобно из-за тормозов.
Вложения
LogsViewerApp_1_1_0_2.rar
(173.1 КБ) Скачиваний: 115
<<

maksim

Аватара пользователя

Сообщения: 52

Зарегистрирован: 02 авг 2014, 16:28

Откуда: Россия. Калужская область

Машина: ВАЗ-2106 1.9

Версия SECU: официальная SECU-3T


Благодарил (а): 11 раз.
Поблагодарили: 1 раз.

Сообщение 30 май 2016, 17:02

Re: Универсальный просмотрщик логов

На форуме уже упоминалось о настройке оптимальных кривых по логам. Эта программа может решить этот вопрос?
<<

Samtorr

Аватара пользователя

Сообщения: 126

Зарегистрирован: 16 июн 2015, 21:45

Машина: Golf II 1.3i

Версия SECU: самодельная SECU-3T


Благодарил (а): 6 раз.
Поблагодарили: 70 раз.

Сообщение 31 май 2016, 00:35

Re: Универсальный просмотрщик логов

maksim писал(а): Эта программа может решить этот вопрос?

Эта программа - инструмент для удобного просмотра логов. Принимать решение по настройке придется самому, на основе их анализа. В поиске оптимальных кривых главное критерии, которые надо изложить и осознать в явном виде, а автоматизация - дело второе.
След.

Вернуться в Программное обеспечение для ПК и релизы ПО

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

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

cron
Powered by phpBB® Forum Software © phpBB Group.