framework/skills/tool-usage/diagnostics/tech-log-analysis/SKILL.md
Use for управления жизненным циклом технологического журнала 1С (ТЖ): настройка, включение, сбор, анализ, восстановление. Helps диагностировать медленные запросы, блокировки и исключения платформы, недоступные в ЖР.
npx skillsauth add steelmorgan/1c-agent-based-dev-framework tech-log-analysisInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
ТЖ нагружает систему. Включать точечно, с минимальным набором событий. Всегда восстанавливать конфигурацию после диагностики.
Для Vanessa — ТЖ последний источник диагностики; сначала event-log-analysis и визуальная проверка UI-блокеров.
Для ошибок и аудита действий пользователей — event-log-analysis.
| Триггер | Действие |
|---------|----------|
| Медленный запрос — нужно найти SQL | search_tech_log с name: "DBMSSQL" / "DBPOSTGRS" |
| Блокировки, deadlock | search_tech_log с name: "TLOCK" / "TDEADLOCK" / "TTIMEOUT" |
| Исключение платформы не в ЖР | search_tech_log с name: "EXCP" |
| Долгий серверный вызов | search_tech_log с name: "CALL" или "SCALL" |
| Статус ТЖ неизвестен | logc_get_techlog_config — прочитать конфигурацию |
| ТЖ не ведётся | Полный цикл (см. алгоритм ниже) |
Единый алгоритм для пассивного (ждём воспроизведения) и активного (запускаем тест) режимов.
1. Сохранить конфигурацию
logc_save_techlog()
Возвращает backup_id — сохранить для шага 7.
2. Настроить события
logc_configure_techlog(
location: "/var/log/1c/techlog",
history: 24,
events: ["EXCP", "DBMSSQL", "TLOCK", "TDEADLOCK"]
)
3. Проверить, что сбор идёт
logc_get_actual_log_timestamp()
4. Воспроизвести проблему / дождаться воспроизведения
5. Smart polling готовности лога
До 10 попыток с паузой 3–5 сек: logc_get_actual_log_timestamp() >= целевое_время. Если не дошло — сообщить пользователю, не делать выводов по неполному окну.
6. Прочитать записи
search_tech_log(
from: "2025-02-11T14:00:00Z",
to: "2025-02-11T14:15:00Z",
name: "DBMSSQL",
min_duration: 1000
)
7. Восстановить конфигурацию
logc_restore_techlog(backup_id: "...")
8. Подтвердить статус пользователю: ТЖ восстановлен / ТЖ отключён / Минимальный профиль (события: ...).
Шаги 1 и 7 — обязательны. Никогда не оставлять ТЖ включённым после диагностики без явного согласования.
ТЖ уже настроен администратором — только чтение:
logc_get_techlog_config → убедиться в наличии нужных событий.logc_get_actual_log_timestamp → сбор актуален.search_tech_log → читать записи.Срочное отключение (диск заполняется): logc_disable_techlog(). После решения — logc_restore_techlog(backup_id).
Минимальный мониторинг (вместо полного отключения, только по согласованию): события ["EXCP", "CONN"]. Зафиксировать в ответе активные события и ответственного.
| Событие | Когда использовать |
|---------|--------------------|
| EXCP | Ошибки, не видные в ЖР |
| DBMSSQL | Медленные запросы MS SQL |
| DBPOSTGRS | Медленные запросы PostgreSQL |
| TLOCK | Конфликты блокировок |
| TDEADLOCK | Взаимоблокировки |
| TTIMEOUT | Таймауты блокировок |
| CALL / SCALL | Медленные серверные вызовы |
| CONN | Проблемы подключения |
| SDBL | Трансляция запросов в SQL |
Стандартный набор: ["EXCP", "DBMSSQL", "TLOCK", "TDEADLOCK"]
| Capability | Назначение |
|------------|------------|
| search_tech_log | Поиск по записям ТЖ |
| logc_get_techlog_config | Прочитать текущую конфигурацию ТЖ |
| logc_save_techlog | Сохранить конфигурацию перед изменением |
| logc_configure_techlog | Настроить события, путь, период хранения |
| logc_get_actual_log_timestamp | Проверить, что сбор идёт |
| logc_restore_techlog | Восстановить сохранённую конфигурацию |
| logc_disable_techlog | Отключить ТЖ |
| navigate_symbol | Переход к коду по контексту из записи ТЖ |
См. references/scenarios.md для классификации инцидентов, обязательных идентификаторов, timeline-правил и шаблона вывода.
| Ошибка | Обходной путь |
|--------|---------------|
| Забыли logc_save_techlog перед настройкой | Спросить пользователя о текущей конфигурации |
| ТЖ не активен после configure | Платформа требует перезапуска служб |
| logc_get_actual_log_timestamp не обновляется | Служба не перезапущена или неверный location |
| Слишком много событий — диск заполняется | Ограничить набор событий; уменьшить history |
| search_tech_log возвращает пусто | Проверить окно времени; событие должно быть после включения ТЖ |
testing
MUST use BEFORE making a judgment about the cause of a conflict, a test failure, or an artifact dispute. Defines the end-to-end verification method L1→L6 and the classification of the first broken link.
development
MUST use AFTER a work cycle with ≥2 iterations (wrote → error → fixed → success). Provides the retrospective procedure and the format for recording practice/anti-patterns in references/learned-patterns.md or {project}/.context/learned-patterns.md.
tools
MUST use WHEN you are writing reusable knowledge into RLM (pattern / architectural decision / stable domain fact) OR reading it before a non-trivial task/solution in the domain. Provides the breakdown of native-push vs RLM-pull, tools for writing and reading RLM, H-MEM levels, and hygiene.
testing
MUST use WHEN the task is classified as simple (< 20 lines, 1 file, no new metadata objects, no architectural decisions). Provides a short cycle of 3 steps with a guard on the self path and mandatory verify.