Просмотр файлов технологических журналов 1С (WinAPI)

04.11.21

База данных - HighLoad оптимизация

Программа просмотра файлов технологических журналов 1С (WinAPI). Работает с большими файлами. Минимальное потребление памяти при индексировании данных, просмотре. Анализ управляемых взаимоблокировок, таймаутов, ожиданий. Фильтры по событиям, периоду, пользователям, соединениям, сеансам.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Архив с программой просмотра файлов, readme, пример файла настроек сбора ТЖ
.zip 1,35Mb
32 1 850 руб. Купить
Архив исходных кодов программы просмотра файлов ТЖ
.zip 3,84Mb
2 4 550 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Обновление 04.11.2021

Исправлена ошибка фильтра Time. Исправлена утечка объектов GDI.

Обновление 21.09.2021

Добавлена цветовая визуализация сеанса источника блокировки и жертвы при анализе управляемых блокировок (см. скриншот "Результат анализа таймаута").

 

Основное

Программа просмотра файлов технологических журналов 1С (WinAPI).

  • Работает с большими файлами.
  • Минимальное потребление памяти при индексировании данных, просмотре.
  • Анализ управляемых взаимоблокировок, таймаутов, ожиданий.
  • Фильтры по событиям, периоду, пользователям, соединениям, сеансам.
  • Сортировка событий по времени с разных рабочих серверов кластера 1С.
  • Вывод рабочего сервера в строке состояния для события ТЖ.
  • Визуальное выделение текущего события.

С исходными кодами так же можно ознакомиться по ссылке: https://github.com/sdf1979/YellowViewer

При первом открытии каталога с файлами ТЖ анализируются и индексируются файлы (анализ 30Гб данных за 300 - 400 секунд, зависит от конфигурации компьютера). При последующих открытиях анализ и индексация не требуются.

Вступайте в нашу телеграмм-группу Инфостарт

См. также

HighLoad оптимизация Программист 1C:ERP Бесплатно (free)

Использование оператора «В» для полей или данных составного типа (например, Регистратор) может приводить к неочевидным проблемам.

10.11.2025    4706    ivanov660    48    

50

HighLoad оптимизация Программист 1С:Предприятие 8 1C:ERP Бесплатно (free)

Приведем примеры использования различных в динамических списках и посмотрим, почему это плохо.

18.02.2025    7821    ivanov660    39    

61

HighLoad оптимизация Технологический журнал Системный администратор Программист Бесплатно (free)

Обсудим поиск и разбор причин длительных серверных вызовов CALL, SCALL.

24.06.2024    10237    ivanov660    13    

62

HighLoad оптимизация Программист 1С:Предприятие 8 Бесплатно (free)

Метод очень медленно работает, когда параметр приемник содержит намного меньше свойств, чем источник.

06.06.2024    16176    Evg-Lylyk    73    

46

HighLoad оптимизация Программист 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Анализ простого плана запроса. Оптимизация нагрузки на ЦП сервера СУБД используя типовые индексы.

13.03.2024    7913    spyke    29    

54

HighLoad оптимизация Программист 1С:Предприятие 8 Бесплатно (free)

Оказывается, в типовых конфигурациях 1С есть, что улучшить!

13.03.2024    11208    vasilev2015    22    

47
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. cleaner_it 198 14.09.21 04:08 Сейчас в теме
Как выглядит результат анализа взаимоблокировки?
2. sdf1979 211 14.09.21 07:37 Сейчас в теме
Отсортированные события ТЖ источника и жертвы приводящие к взаимоблокировке (SDBL - начало транзакции, TLOCK и TDEADLOCK)
3. ttt1380 14 18.06.22 18:06 Сейчас в теме
Добрый день!
Почему-то при указании верхнего каталога ТЖ, не чего не происходит. Просьба прокомментировать что ни так?
Если открывать каталог rphost конкретного, то там файлы считываются.
4. sdf1979 211 19.06.22 12:13 Сейчас в теме
(3)Добрый день!
Можете привести полный путь до каталога, с которым проблемы?
5. ttt1380 14 19.06.22 22:47 Сейчас в теме
(4) Сегодня снова попробовал нормально прочитал, настройки журнала правда другие были. Поэтому спасибо, пока отбой
6. aap290680 08.07.22 14:06 Сейчас в теме
Как в строке поиска отобрать события за период?
7. aap290680 08.07.22 14:39 Сейчас в теме
(6) вот так получилось: Time > "08.07.22 15:00:00" and Time < "08.07.22 15:05:29" !
8. sdf1979 211 08.07.22 21:29 Сейчас в теме
(6)
Переменные строки поиска:
Time=[Время], возможны операторы сравнения =, >=, <=, <>
Event="[ИмяСобытия]", возможны операторы сравнения =, >=, <=, <>, LIKE
Usr="[ИмяПользователя]", возможны операторы сравнения =, >=, <=, <>, LIKE
t:connectID=[НомерСоединения], возможны операторы сравнения =, >=, <=, <>
SessionID="[Сеанс]", возможны операторы сравнения =, >=, <=, <>, LIKE

Примеры строки поиска:
1. По значению события EXCP
Event="EXCP"
2. По имени пользователя
Usr="DefUser"
3. По части имени пользователя
Usr LIKE "DefUser%"
4. По соединению
t:connectID=2225
5. По сеансу
SessionID="1569"
6. По значению события EXCP и период с 1:00 до 2:00
Event="EXCP" AND Time>="24.05.21 01:00:00" AND Time<="24.05.21 02:00:00"
9. aap290680 12.07.22 14:38 Сейчас в теме
(8) Спасибо за ответ, а с точностью до секунды можно сделать? Если добавить в условия несуществующее поле, то выводится текст запроса и в нем видно, что секунды занулены.
10. sdf1979 211 12.07.22 17:02 Сейчас в теме
(9)
И до секунды и до миллисекунд можно (по крайней мере делал).
11. aap290680 13.07.22 08:58 Сейчас в теме
(10) Кажется при парсинге даты нарушен порядок или я некорректно ввожу дату с миллисекундами, ввожу: "Time >= "08.07.22 14:58:09.000000" and Time <= "08.07.22 14:58:10.880000"", получаю события с датами: 08.07.22 14:15:14.978000 и 08.07.22 14:15:14.978002, см. скриншот
Прикрепленные файлы:
12. aap290680 13.07.22 09:01 Сейчас в теме
(10) А если ввожу "Time >= "08.07.22 14:18:09.000000" and Time <= "08.07.22 14:18:10.880000"" то выводятся события правильно с 08.07.22 14:18:09.863001 по 08.07.22 14:18:09.941003
13. aap290680 13.07.22 14:56 Сейчас в теме
(10) Прошу прощения, не прочитал, что вы это исправили в версии от 2 ноября 2021 года. Скачал новую версию, все работает! Большое спасибо за продукт.
14. sdf1979 211 13.07.22 16:44 Сейчас в теме
(13)
Спасибо что сообщили об исправлении, а то планировал исправлять :-)
15. aap290680 13.07.22 17:23 Сейчас в теме
(14) Почему на таком событии TTIMEOUT при попытке анализа блокировки падает приложение:
06.07.22 11:03:14.784000-0,TTIMEOUT,5,process=rphost,p:processName=ХХХ,OSThread=6072,t:clientID=59173,t:applicationName=BackgroundJob,t:computerName=ХХХ,t:connectID=68873,SessionID=204996,Usr=DefUser,WaitConnections=68730,Context='
ОбщийМодуль.ХХХ.Модуль : 731 : БлокировкаДанных.Заблокировать();'

06.07.22 11:03:14.784002-20013985,TLOCK,4,process=rphost,p:processName=ХХХ,OSThread=6072,t:clientID=59173,t:applicationName=BackgroundJob,t:computerName=ХХХ,t:connectID=68873,SessionID=204996,Usr=DefUser,Regions=InfoRg35926.DIMS,Locks='InfoRg35926.DIMS Exclusive Fld35927=379:a9490050568e42b411ecfc4ff6ecf829 Fld37479=""',WaitConnections=68730,connectionID=61ef16da-c6c0-479e-a3f0-b96cd2e9a834,Context='
ОбщийМодуль.ХХХ.Модуль : 731 : БлокировкаДанных.Заблокировать();'

причину блокировки руками нашел, вот она как выглядит:
06.07.22 11:02:31.480140-6,TLOCK,4,process=rphost,p:processName=ХХХ,OSThread=5468,t:clientID=59030,t:applicationName=BackgroundJob,t:computerName=ХХХ,t:connectID=68730,SessionID=204944,Usr=esb,Regions=InfoRg35926.DIMS,Locks='InfoRg35926.DIMS Exclusive Fld35927=379:a9490050568e42b411ecfc4ff6ecf829 Fld37479=""',WaitConnections=,Context='
ОбщийМодуль.ХХХ...
ОбщийМодуль.ХХХ.Модуль : 588 : НаборЗаписей.Записать(ИСТИНА);'
16. sdf1979 211 13.07.22 19:01 Сейчас в теме
(15) Для расследования управляемых блокировок нужен следующий шаблон по событиям. Вы собирали по такому шаблону?
<log location="&LOGS_DIR;\TLOCKS" history="3">
<event>
<eq property="Name" value="TLOCK"/>
</event>
<event>
<eq property="Name" value="TTIMEOUT"/>
</event>
<event>
<eq property="Name" value="TDEADLOCK"/>
</event>
<event>
<eq property="Name" value="SDBL"/>
<eq property="Func" value="BeginTransaction"/>
</event>
<property name="all"/>
</log>
17. aap290680 13.07.22 19:10 Сейчас в теме
(16) Я не сам настраиваю журнал, админы это делают, поэтому точно не могу сказать, что настроен по шаблону такому. По всем остальным событиям прога не вылетает, выдает и событие блокировки и жертву, а приведенное выше событие при попытке анализа выбивает прогу.
Для отправки сообщения требуется регистрация/авторизация