К содержанию
fohbook/ TouchDesigner для света
профи

Мониторинг и логи

Что показывать на служебном экране, что писать в лог и как узнать о проблеме раньше заказчика.

Инсталляция без мониторинга — это инсталляция, о поломке которой вы узнаёте от заказчика через неделю.

Служебная панель

Отдельный Container COMP на служебном мониторе. Что на нём:

Показатель Зачем
Текущее кью и следующее Где мы в шоу
Таймкод и признак сигнала Идёт ли время
Мастер и режим (авто/ручной) Кто управляет
DMX: уходит / не уходит Живой ли выход
DMX in: приходит / нет Слышим ли пульт
Кадры в секунду и пропуски Успевает ли машина
Память CPU и GPU Нет ли утечки
Контроллеры: отвечают / нет Живо ли железо
Последние ошибки Что сломалось

Крупно, читаемо с двух метров, в тёмном зале.

Ошибки в таблице

Error DAT собирает ошибки всего проекта. Положите его на панель и в лог:

op('null_errors').numRows
op('some_op').errors()
op('some_op').warnings()

Молча проглоченная ошибка — худший вид отказа. Всё, что упало, должно быть видно.

Лог

Пишите в файл с датой:

import datetime
def log(msg):
    ts = datetime.datetime.now().isoformat(timespec='seconds')
    with open(f"D:/show/logs/{ts[:10]}.log", 'a', encoding='utf8') as f:
        f.write(f"{ts}  {msg}\n")

Что писать:

  • старт и остановка проекта;
  • смены кью и режимов;
  • потеря и восстановление таймкода, DMX, сети;
  • ошибки и исключения;
  • раз в минуту — сводка: кадры, память, состояние.

Ротация обязательна: файл, растущий год, однажды заполнит диск.

Проверка железа

Опрос контроллеров — отдельная полезная вещь. Многие пиксель-контроллеры и Art-Net-узлы отвечают на ping или на опрос протокола. Раз в минуту проверять, кто не ответил, и писать в лог.

Ещё лучше — камера как обратная связь: она проверяет не «отвечает ли контроллер», а «горит ли свет».

Уведомления

Для инсталляции, которую вы обслуживаете:

  • письмо или сообщение при падении и при восстановлении;
  • ежедневная сводка утром: сколько времени работало, сколько перезапусков, были ли ошибки;
  • предупреждение при росте памяти или падении кадров.

Реализуется Web Client DATВеб.

Не шлите уведомление на каждый чих

Система, которая присылает двести сообщений в день, перестаёт читаться на третий день. Уведомляйте о том, на что вы реально будете реагировать.

Скриншот раз в час

Сохраняйте кадр служебной панели или картинку с камеры раз в час. Через месяц это отвечает на вопрос «а что было в прошлый вторник» без догадок.

рядом по смыслу