Документация

Sentinel

Автономные мониторы отслеживают условия и запускают процесс устранения неполадок при их обнаружении.

Sentinel Sentinel отслеживает условия и предпринимает действия при их обнаружении. Если расписание запускается по времени, то Sentinel срабатывает, когда некое условие становится истинным.

Найдите его в разделе «Расписания» фабрики.

Что именно он отслеживает

Условия, которые вы задаёте: сбой проверки, появление определённого шаблона в кодовой базе, сигнал от подключённой системы или отклонение от стандарта.

Когда монитор срабатывает, он инициирует процесс устранения неполадок: обычную задачу со спецификацией, проходящую через тот же этап планирования, сборки, проверки и рецензирования, что и любая другая задача.

Почему это безопасный подход

Sentinel напрямую не исправляет ваш код. Он инициирует работу по исправлению кода, а эта работа приводит к созданию pull request, которое вы утверждаете.

Это важнее, чем может показаться. У автономной системы, которая напрямую изменяет продакшн-код, отсутствует этап рецензирования именно в тот момент, когда он нужен больше всего — когда никто не запрашивал этих изменений и никто за ними не следит. Прохождение через обычный конвейер позволяет автономии увеличивать пропускную способность без потери контроля.

Шаблоны

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

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

Как сохранить контроль

Работа, инициированная Sentinel, конкурирует за те же слоты агентов, что и всё остальное. Монитор, срабатывающий часто, может незаметно исчерпать ваш ресурс.

Три правила, которые помогают сохранять его полезность:

  1. Задайте ему более низкий приоритет, чем для задач, запрошенных людьми. P2 или P3.
  2. Сделайте условия более конкретными. Условие «сбой теста» срабатывает постоянно в загруженном репозитории; условие «этот конкретный чек завершился ошибкой в базовой ветке более чем на час» срабатывает лишь тогда, когда действительно возникла проблема.
  3. Проанализируйте результаты Если монитор создал двадцать задач, а вы объединили лишь две, tо он генерирует шум и расходует бюджет вместо того, чтобы приносить пользу.

Следите за скоростью слияния, а не за частотой срабатывания

Истинным критерием эффективности монитора является доля открытых им задач, которые были объединены. Монитор, который срабатывает редко, но всегда точно, работает корректно. Монитор, который срабатывает постоянно, но его результаты игнорируются, — это лишь трата ресурсов.