Парсер технологического журнала 1С

07.05.19

База данных - Технологический журнал

Простой, шустрый и легкий в использовании off-line парсер технологического журнала 1С.

Скачать файлы

Наименование Файл Версия Размер
Парсер технологического журнала 1С:
.exe 210,00Kb
36
.exe 0.3.5 210,00Kb 36 Скачать

Завершение проекта :(

 

С 01 мая 2019 г. программа развиваться больше не будет ввиду отсутствия свободного времени у автора. Скачать отныне можно будет только актуальную версию программы (0.3.5), но только на условии "as is" ("как есть"), со всеми вытекающими последствиями.

 

Добавлена новая версия - v0.3.4!

Исправлена ошибка чтения из технологического журнала событий в усеченной форме (вида "00:00.119005-1,CALL,1"). Добавлен счетчик затраченного времени на считывание событий из технологического журнала. Успешно протестирована работа программы на достаточно больших логах (до 2-3 Гб), при этом время считывания составило менее 1-ой минуты (логи хранились на SSD). В случаях, когда оперативной памяти все же не хватает, достаточно разделить файлы внутри ТЖ на группы, и выполнить анализ по каждой в отдельности.

 

Добавлена новая версия - v0.3.2!

Программа теперь умеет работать и со старым форматом технологического журнала 1С, в котором для определения временного смещения использовалось 4 символа вместо 6. Формат определяется автоматически при открытии файла.

 

Добавлена новая версия - v0.3.1!

Исправлена ошибка считывания строк лога ТЖ, если в файле встречаются пустые строки (found by Armando).

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

 

Парсер технологического журнала 1С

Выполняет разбор логов (файлов *.txt) каталога технологического журнала, включая разбивку по именам ключевых свойств событий и их значений.

Написан на С# (.NET).

Новое в версии v0.3:

  1. Расширена статистика у фильтров (% и максимальная длительность);
  2. Добавлен фильтр на минимальную длительность событий;
  3. Исправлена ошибка скрытия/отображения некоторых колонок таблицы событий;
  4. Повышено usability программы.

Новое в версии v0.2:

  1. Стало возможно накладывать множественный фильтр на имя процесса, PID и имя события, а также осталась возможность дополнительно фильтровать записи, включив контекстный поиск по именам ключевых свойств событий и их значений;
  2. Поле "Дата события" разнесено на 2-е отдельные колонки (дата и время);
  3. Добавлена возможность изменения внешнего вида таблицы событий и таблицы свойств (меню "Вид");
  4. Приложение протестировано на больших объемах технологического журнала (> 2 000 000 событий), полет нормальный;
  5. Улучшено визуальное отображение элементов формы;
  6. Исправлены замеченные ошибки в коде, повышена стабильность работы.

парсер технологический журнал лог ТЖ

См. также

Магия преобразований Vector, часть 2: технологический журнал

Технологический журнал Мониторинг Абонемент ($m)

Как легко и быстро с помощью специализированных решений собирать, парсить и передавать логи и метрики.

1 стартмани

15.11.2023    337    2    AlexSTAL    0    

4

Магия преобразований: ЖР, ТЖ, RAS/RAC, логи - универсальное решение Vector

Мониторинг Журнал регистрации Технологический журнал Абонемент ($m)

Как легко и быстро с помощью специализированных решений собирать, парсить и передавать логи и метрики.

1 стартмани

13.11.2023    1801    2    AlexSTAL    0    

33

«Монитор» – простой анализ производительности

Администрирование СУБД Технологический журнал Бесплатно (free)

Для расследования проблем производительности недостаточно просто проанализировать технологический журнал. Нужен парсинг контекста событий, его сопоставление с информацией из Extended Events и логов, агрегация огромного количества информации.

21.09.2023    4599    Andreynikus    14    

77

Экспорт технологического журнала 1С в Elastic с помощью Logstash

Технологический журнал Платформа 1С v8.3 Абонемент ($m)

Целью данного решения является организация хранения и анализа данных из технологического журнала 1С с использованием стека Elasticsearch + Logstash + Kibana.

5 стартмани

18.09.2023    2325    huxuxuya    3    

17

Мобильный помощник эксперта 1С (приложение android, позволяющее строить отчеты на СКД по логам технологического журнала и не только)

Технологический журнал Мониторинг Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Приложение на мобильной платформе 1С Предприятие, позволяющее разбирать все, что может быть разобрано в командной строке linux, и выводить полученный результат типовыми методами системы компоновки данных. По мотивам направления Эксперт по технологическим вопросам

16.05.2023    2587    capitan    0    

19

Разбор технологического журнала без боли и страданий

Технологический журнал Абонемент ($m)

Технологический журнал - мощный инструмент логирования, используемый для анализа проблем производительности 1С. Но он обладает одним огромным недостатком, в "сыром виде" он почти не поддается адекватному анализу из-за своей структуры. Существует довольно много способов "разобрать" технологический журнал, но все опробованные способы обладают теми или иными недостатками. Предлагаю вам мой вариант "велосипеда" для разбора ТЖ и хранения разобранного в различных форматах.

1 стартмани

12.12.2022    7113    31    Segate    26    

81

Выполняем в СУБД запрос из ТЖ

Технологический журнал Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Обработка для подстановки или нумерации параметров в тексте запроса из технологического журнала.

1 стартмани

24.11.2022    2657    3    VKislitsin    1    

16
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Armando 1399 06.12.15 23:11 Сейчас в теме
Все события и свойства поддерживаются? Если новые появляются их распознает?
Как работает с большими файлами > 500 Мб, хватает ли памяти на обработку большого количества таких файлов?
Есть ли ограничение на размер значения свойства?

Цена 10см не маленькая. При исправлении ошибок каждый раз 10см тратить на скачивание?
3. sarycheff 143 07.12.15 09:56 Сейчас в теме
(1) Armando, события и свойства жестко в коде не прописаны. Фильтр на вид события (как и на тип процесса) заполняется динамически на основе анализа соответствующего поля. Поэтому с новыми событиями и свойствами работать будет.
С чем НЕ будет работать: со старым форматом технологического журнала, в котором на смещение и длительность событий отводилось всего 4 разряда (возможно, мне следовало указать это в описании).
Для тестирования я использовал логи ~450МБ, при этом полная загрузка выполнялась < 5 сек. - это около полумиллиона событий. Анализировать логи большего размера не вижу смысла, эффективнее включить фильтрацию в файле-семафоре (logcfg.xml). Для справки: в С# максимальный размер объекта типа String может составлять в памяти до 2 ГБ, или около 1 миллиарда символов. Мало? )
Если цена кажется большой - напишите свой парсер и представьте его публике. Не исключено, что он превзойдет по функциональности и удобству мой, и при этом обойдется дешевле. Но пока ощущается недостаток в таком инструментарии, раздаривать его налево и направо я не хочу. Пусть это станет побуждением к активным действиям.
4. Armando 1399 07.12.15 12:35 Сейчас в теме
(3) sarycheff
Анализировать логи большего размера не вижу смысла, эффективнее включить фильтрацию в файле-семафоре (logcfg.xml)

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

Мне 10 не жалко, у меня фантиков много. Просто к дорогим разработкам отношусь с осторожностью. Готов скачивать несколько раз, если каждый раз будут новые версии с новым функционалом. Но не готов тратить 10, если в новой версии только исправлены ошибки.

Еще вопрос: можно ли наложить фильтр, например, "Процесс любой и Событие = CALL и Свойство = Memory и Значение >= 10000"
или такой: "Событие CALL или SCALL и Свойство = CallID и Значение=212121212"
думаю смысл понятен - нужны гибкие фильтры.

И если еще не видели, то обязательно посмотрите "Инструменты разработчика" http://infostart.ru/public/15126/ там есть шикарный парсер-анализатор журнала, но на больших размерах начинает тормозить, или вообще может улететь по нехватке памяти((
Будет круто, если сделаете что-то подобное, но без озвученных проблем производительности.
5. sarycheff 143 07.12.15 14:04 Сейчас в теме
(4) Armando, касаемо развития функционала: собственно, для этого и выкладываю - чтобы понять, насколько востребовано. Будет спрос, будет и желание дальше развивать проект.

Что же до гибких фильтров - в перспективе возможно будет все. В текущей же версии можно наложить фильтр вида:
Процесс - любой и Событие = CALL и в строке ключевых свойств и значений присутствует "212121" (поле "Найти" выполняет поиск по вхождению).

Для фильтров типа "Значение >= 10000" придется дополнительно анализировать тип значения каждого свойства, а это, согласитесь, дополнительные ресурсы и задержки по времени. В моей разработке разбивка по свойствам происходит динамически в момент активизации строки списка.

Вообще изначально весь код был написан как внешний отчет на СКД, но файловые функции 1С:Предприятия тормозят жутко, поэтому рассматривалось 2 варианта дальнейшего развития проекта:

1. Парсер на C++, C# или Java с собственным интерфейсом. Недостаток очевиден - фильтрацию, группировку и поиск программировать ручками, либо искать подходящий визуальный компонент, при этом несомненный плюс - это скорость работы;

2. Внешняя компонента 1С для подключения (исполнения) при компоновке результата отчета и вывода в СКД. Тогда можно было бы накладывать действительно сложные фильтры. Вот только боюсь, сама СКД может оказаться чересчур прожорливой...
6. tormozit 7077 07.12.15 17:13 Сейчас в теме
(4) В анализе техножурнала ИР нехватка памяти и жутко тормозит обычно в том случае, если выполняются оба условия:
1) первичный фильтр (в конфигурационном файле) настроен на регистрацию большого потока информации
2) при чтении журнала не задается интервал времени, который на текущий момент является единственным фильтром чтения/загрузки
Делать фильтры чтения аналогичные первичным кажется не имеет большого смысла, т.к. фильтровать по возможности нужно именно в первичном фильтре.
7. tormozit 7077 14.12.15 11:45 Сейчас в теме
(4) В ИР версии 3.45 добавлено поле лимита количества загружаемых событий для предотвращения аварийного завершения из-за нехватки памяти, по умолчанию 100 000.
2. Константин С. 751 07.12.15 09:23 Сейчас в теме
Цена 10см не маленькая. При исправлении ошибок каждый раз 10см тратить на скачивание?

Соглашусь. В чем конкурентное предшествуемо аналогичных разработок-обработок
8. alex_4x 84 01.02.16 16:54 Сейчас в теме
Это на чём написано ? Исходник не выкладываете ?
9. sarycheff 143 01.02.16 21:00 Сейчас в теме
(8) alex_4x, написано на C#. Выкладывать исходник в планах пока не было.
10. Armando 1399 02.02.16 02:11 Сейчас в теме
Скачал версию 0.3. Нормально, что показывает только 30 событий? Файл 157 мегабайт и там точно не 30 событий. Вложил файл.
Прикрепленные файлы:
rphost_6256.zip
11. sarycheff 143 02.02.16 22:58 Сейчас в теме
(10) Armando, отписался в ЛС.
12. sashocq 192 18.10.16 14:29 Сейчас в теме
Задумка очень хорошая и внешний вид нравится. Но не хватает, конечно, некоторых базовых функций.
  • Вывод в таблицу любых колонок из журнала
  • Фильтр по произвольной колонке
  • Открытие нескольких журналов за 1 раз (например, с клиента и с сервера или с нескольких кластеров серверов) с возможностью указания имени компьютера для каждого каталога и, возможно, смещения времени (если немного расходятся часы на компьютерах)
Сам пару раз уже начинал делать подобное (на C# и на Python), но доходило только до отображения просто таблицы записей, на бОльшее меня не хватало :-)
13. sarycheff 143 20.10.16 10:30 Сейчас в теме
(12) sashocq, спасибо за замечания, обязательно учту в следующих версиях разработки (похожие идеи посещали и меня). Пока что же катастрофически не хватает времени на проект.
14. Armando 1399 28.10.16 11:15 Сейчас в теме
Если в папке лежат журналы нескольких процессов, то нет возможности сортировать записи в хронологическом порядке, сортируются только по секундам.
15. Kaavan 89 01.12.17 04:29 Сейчас в теме
Не смог загрузить ни один журнал - программа вылетает

Добрый день!
Не смог загрузить ни разу.
Запускал на win10 и Microsoft Windows Server 2012 R2 Standard



Сигнатура проблемы:
Имя события проблемы: CLR20r3
Сигнатура проблемы 01: TechLog1C.exe
Сигнатура проблемы 02: 0.3.1.0
Сигнатура проблемы 03: 56b107e4
Сигнатура проблемы 04: mscorlib
Сигнатура проблемы 05: 4.7.2117.0
Сигнатура проблемы 06: 59cf500c
Сигнатура проблемы 07: 107a
Сигнатура проблемы 08: 5c
Сигнатура проблемы 09: System.FormatException
Версия ОС: 6.3.9600.2.0.0.272.7
Код языка: 1049
Дополнительные сведения 1: 5861
Дополнительные сведения 2: 5861822e1919d7c014bbb064c64908b2
Дополнительные сведения 3: 5f25
Дополнительные сведения 4: 5f2531ae070278f893fa99352dadd49e

логи для теста во вложении
Прикрепленные файлы:
EXCP.zip
16. sarycheff 143 02.12.17 16:31 Сейчас в теме
(15), какой релиз платформы 1С, которым снимался ТЖ? В ранних версиях формата ТЖ для временного смещения внутри секунды отводилось 4 знака, в последних - 6 ("mm:ss.tttttt-d"). Программа рассчитана на новый формат ТЖ. Проверьте на актуальной версии платформы.
17. Kaavan 89 03.12.17 02:09 Сейчас в теме
Платформа 8.2 и обновить её нет возможности. Исследовать приходится именно её.
Можно добавить в программу выбор формата? В противном случае зря потраченные смартмани
18. ivanov660 4222 10.07.18 16:09 Сейчас в теме
Быстрый но в плане работы крайне не удобно. Самые проблемные моменты:
1. при изменении параметра, к примеру, фильтр длительность. не понятно применилось или нет. на нажатие 'enter' не срабатывает. сообщение что-ли бы повесили, применить изменения (как в интернет магазинах)
2. при выделении строки отображается под ней дополнительный текст. вот когда этот текст занимает пару листов, то это совсем ужасно. сделали бы хоть ограничение на размер в 2-3 строки и кнопку подробнее, а лучше еще в отдельную вкладку. еще хорошо бы дать скопировать текст.
особенно раздражает, что нормально прокрутить нельзя в этом случае.
3. выгрузки в эксель не хватает, т.к. куртить там возможности шире.
4. хотя бы ссылки на файл и номер строки, где данная информация по логам расположена.

Итого общее впечатление следующее: что-то показывает и даже фильтрует, но как практически применять не понятно.
19. SaRana 4 03.10.18 17:31 Сейчас в теме
Увы, лог в 4,5Гб не читает, хотя ресурсов более, чем достаточно.ТЖ версии 8.2, версия обработки 0.3.4
Прикрепленные файлы:
20. sarycheff 143 04.10.18 22:35 Сейчас в теме
(19), проблема скорее не в нехватке ресурсов, а в содержании журнала. Можете предоставить файлы ТЖ для анализа?
21. SaRana 4 15.10.18 12:17 Сейчас в теме
К сожалению читает файлы размером до 2,5 Гб. В наше случае, когда лог достигает 13Гб, обработка бесполезна. Прошу вернуть См.
22. sarycheff 143 17.10.18 16:30 Сейчас в теме
(21), я не давал гарантий в описании, что программа сумеет обработать файл такого размера. Подсуньте такой объем мелкомягкому офису и скорее всего получите аналогичный результат. И вообще вызывают искреннее удивление необходимость постобработки логов такого объема. Вы не в курсе, что события в ТЖ можно отфильтровать на стадии формирования логов?
23. SaRana 4 17.10.18 22:32 Сейчас в теме
Уважаемый, ситуации бывают разные и объем журнала в 13 Гб - это объем журнала с установленными фильтрами, без фильтров он просто несоразмерен. Мелкомягкий офис прекрасно справляется с объемом в 13-14 Гб, Ваша обработка привлекла фразой "Успешно протестирована работа программы на достаточно больших логах (до 2-3 Гб)" и возможностью установки фильтров, но даже с указанным объемом она не справляется.
24. Plotks2017 264 18.04.19 16:46 Сейчас в теме
ТЖ несколько mb логи запросов postgreesql скачал версию 0.3.2. Зависает на мертво при фильтрации по времени + нет возможности сворачивать события, только если на другое кликнуть. Запросы огромного размера, поэтому не получается посмотреть сколько их вообще есть.

Проблема с фильтрацией решилась, если отключить вывод содержания в таблицу. Видимо не поддерживает огромные текстовые поля не помещающиеся на экран.
В целом понравилось, удобно.

UPD.
Скачал 0.3.4 проблема не в версии.
Зависает при клике на конкретную строку. Скрин и файл с логами прикладываю.

Прошу вернуть деньги или предоставить работающую версию, как анонсировано в статье.
Прикрепленные файлы:
19041713.log
25. sarycheff 143 20.04.19 11:55 Сейчас в теме
(24), в прикрепленном логе ProcessID = 3164, на нем ошибок не наблюдается. А на скрине ProcessID = 3820.
26. Plotks2017 264 26.04.19 14:36 Сейчас в теме
(25) добавил всю папку + гиф как делаю. Прошу разобраться.
Прикрепленные файлы:
Query1с_1.rar
27. Eret1k 24.06.19 13:22 Сейчас в теме
Крутая софтина и цена доступная.

Для Админа, который ТЖ в первый раз видит и нужно разобраться, самое то!
28. Eret1k 24.06.19 14:43 Сейчас в теме
Минус: работает на windows 10 и не работает на windows server 2012
Скорее всего имеет в зависимости новую библиотеку .NET
Problem signature:
  Problem Event Name:	CLR20r3
  Problem Signature 01:	TechLog1C.exe
  Problem Signature 02:	0.3.5.0
  Problem Signature 03:	5ccf1c4f
  Problem Signature 04:	mscorlib
  Problem Signature 05:	4.0.30319.34209
  Problem Signature 06:	534894cc
  Problem Signature 07:	304a
  Problem Signature 08:	0
  Problem Signature 09:	System.FormatException
  OS Version:	6.3.9600.2.0.0.272.7
  Locale ID:	1033
  Additional Information 1:	5861
  Additional Information 2:	5861822e1919d7c014bbb064c64908b2
  Additional Information 3:	d1d9
  Additional Information 4:	d1d94a13d3609d6b740644c12508f581
Показать
29. sarycheff 143 26.06.19 09:49 Сейчас в теме
(28), работало без проблем на "голом" Windows Server 2012 R2 Standard Build 9600. Из установленного - только пакеты Microsoft Visual C++ 2015 Redistributable 2015 (x86 и x64).
Оставьте свое сообщение