Перейти к содержимому
FRGEPLAN

forgeplan activity-stats

forgeplan activity-stats сводит лог активности в таблицу: одна строка на каждый инструмент с количеством вызовов, количеством ошибок и длительностями (медиана / 95-й перцентиль / суммарно). Читает те же лог-файлы, что и forgeplan activity, но агрегирует их - так можно одним взглядом ответить на «куда ушло время сессии?» вместо пролистывания сотен отдельных вызовов.

Это CLI-вариант forgeplan_activity_stats - оба возвращают одни и те же числа.

Про перцентили: p50 - медиана (половина вызовов быстрее, половина медленнее); p95 - медленный хвост (95% вызовов укладываются в это время). Если p95 высокий, а p50 низкий - большинство вызовов быстрые, но несколько долгих портят картину.

  • Начало отладочной сессии - найти самый медленный или часто вызываемый инструмент за последние 24 часа.
  • Пользователь жалуется «медленно» - нужна точка старта для расследования.
  • Pre-release проверка - сравнить число ошибок с прошлой неделей, чтобы заметить регрессию.
  • После долгой сессии - подтвердить, что число деструктивных операций совпадает с ожиданиями.
  • Нужно увидеть отдельные вызовы (timestamp, аргументы) - используйте forgeplan activity, он не агрегирует.
  • Нужен методологический гейт (блокировать работу до выполнения условия) - статистика это наблюдаемость, не валидация.
forgeplan activity-stats [OPTIONS]
--since-hours <SINCE_HOURS> Time window in hours (1..=720, default 24) [default: 24]
--json Output as JSON for machine consumption
-h, --help Print help
-V, --version Print version
Окно терминала
forgeplan activity-stats

Печатает строки, отсортированные по суммарному времени (от большего к меньшему) - самый затратный по времени инструмент первым. Быстрый ответ на вопрос «куда ушло время сессии?».

Окно терминала
forgeplan activity-stats --since-hours 720

Используйте для месячных ретроспектив или при расследовании медленного workflow, начавшегося несколько дней назад. 720 часов (30 дней) - максимальное окно.

Пример 3: Найти медленные инструменты (p95 больше 1 секунды)

Заголовок раздела «Пример 3: Найти медленные инструменты (p95 больше 1 секунды)»
Окно терминала
forgeplan activity-stats --json | jq '.stats[] | select(.p95_ms > 1000)'

Фильтрует инструменты, у которых медленный хвост (p95) превышает 1000 мс. Типичный первый срез при «агент сегодня тормозит» - это те инструменты, которые портят впечатление.

Связка с forgeplan activity - двухшаговое расследование: сначала activity-stats, чтобы найти медленный или падающий инструмент, потом activity --tool <имя> для конкретных вызовов. Если проблема в ошибках - добавьте --status tool_err.