История
Проект изначально был размещен на хостинге Google Code в декабре 2011 года, однако впоследствии был перенесен на Github из-за того, что на Google Code была отключена возможность размещения новых файлов для скачивания.
Идея проекта была в том, чтобы создать инструмент, похожий на MS SQL Profiler, но такой, чтобы можно было им пользоваться на файловых базах и при этом видеть тексты запросов в терминах конфигурации. Конечно, до удобства и функциональности Profiler-а этой обработке далеко. И, конечно же, в сети даже на момент первой публикации уже было достаточно много похожих инструментов с гораздо более богатым функционалом, однако подобного бесплатного и открытого инструмента мне на момент разработки не попадалось. Не знаю, актуальна ли эта разработка на данный момент, но вот только сейчас пояилось желание поделиться им с общественностью на данном ресурсе.
Условия распространения
Лицензия: MIT Licence
Как пользоваться
Для того, чтобы начать вывод текстов запросов, необходимо нажать на кнопку "Старт". При этом, вывод текстов начнется с некоторой задержкой (до 60-ти секунд) и, конечно, при условии, что в данный момент выполняются запросы к СУБД. Задержка связана с тем, что при включении записи в технологический журнал, платформа начинает эту запись не сразу. В дальнейшем, когда запись в технологический журнал начата, задержка на не нагруженных базах может составить порядка 1-2 секунды после выполнения запроса, на нагруженных - значительно большее время, в этом случае, задержка уже связана с необходимостью постоянного чтения файлов технологического журнала с диска, а также посимвольной обработкой текста что при значительном количестве запросов может стать ресурсоемкой задачей.
Для того, чтобы остановить вывод, необходимо нажать на кнопку "Стоп".
Установка флажка "Планы запросов" добавляет вывод планов запросов. Поскольку при включении флажка перезаписывается файл настроек, то изменения могут вступить в силу не сразу, также включение флажка не отразится на уже прочитанных запросах.
Для того, чтобы тексты запросов были представлены с наименованиями объектов, заданных в конфигураторе, а не в виде имен СУБД, необходимо установить флажок "Получать имена объектов по метаданным". Т.е. например в конфигураторе у объекта установлено имя "РегистрСведений.ЦеныНоменклатуры", тогда как в СУБД этот объект может называться скажем "InfoRg15". При включении данного флажка, в текстах запросов регистр будет обозначаться так, как он и называется в конфигураторе т.е. "РегистрСведений.ЦеныНоменклатуры", а не "InfoRg15". Стоит сказать, что в текущей версии обработки, установка флажка не приводит к 100% представлению наименований в том виде в каком они заданы в конфигураторе, это связано с несовершенством алгоритма.
Для того, чтобы очистить окно вывода, необходимо нажать на кнопку "Очистить". При этом, будет очищено только окно вывода, файлы технологического журнала останутся не тронутыми.
Поле "Отбор по тексту" предназначено для отбора запросов по входящим в них словам. Например, среди найденных, есть куча запросов к таблице "УстановкаЦенНоменклатуры", для того, чтобы отобразить только запросы к таблице "УстановкаЦенНоменклатуры" достаточно в поле "Отбор по тексту" написать - "УстановкаЦенНоменклатуры" (без кавычек) и нажать Enter.
Как это работает
При нажатии на кнопку "Старт", в каталоге "Путь к каталогу установки 1С: Предприятие\conf" (например "C:\Program Files\1cv82\8.2.15.294\bin\conf") создается файл "logcfg.xml" с настройками, необходимыми для того, чтобы в технологический журнал начала записываться информация о выполняемых запросах к СУБД. Если файл "logcfg.xml" уже существует, то он переименовывается в "backup_logcfg.xml_порядковый номер копии" и вместо него, создается новый файл настроек. При закрытии обработки, сохраненная версия файла настроек восстанавливается. Если сохраненных копий не создано, то при закрытии, файл настроек просто удаляется и запись в технологический журнал прекращается. Таким образом все устанавливается в то состояние, которое было до запуска обработки. После того как файл "logcfg.xml" создан, по прошествии определенного количества времени (60 секунд максимум) начинается запись в технологический журнал - в файлы текстового формата. Обработка в фоновом режиме выполняет постоянное построчное чтение файлов технологического журнала и если обнаружено событие с текстом запроса, появившееся уже после нажатия на кнопку "Старт" - выводит его на экран.
Файлы технологического журнала располагаются в каталоге "Путь к каталогу установки 1С: Предприятие\conf\logs_techlogqueryviewer" - данный путь указывается в файле настроек "logcfg.xml". После закрытия обработки, файлы технологического журнала не удаляются, предполагается что пользователь удалит их в ручную, при этом, сразу же удалить означенные файлы скорее всего не получится, поскольку доступ к ним ограничен работающим сервером.
Обработка может быть использована как на файловой так и на клиент-серверной версии.
Как скачать
Ссылка на страницу загрузки с GitHub-репозитория: https://github.com/alexkmbk/techlogqueryviewer/releases