performance-monitor — хук для Claude Code: замер нагрузки и установка
Хук записывает CPU, память и время начала и конца вызова каждого инструмента Claude Code. Данные пригодятся, чтобы разбирать нагрузку по операциям.
npx claude-code-templates@latest --hook performance/performance-monitorЧто делает performance-monitor
Перед каждым вызовом инструмента и после него хук добавляет строку в ~/.claude/performance.csv: временную метку, загрузку CPU и RSS процесса, имя инструмента и отметку start или end. Так можно сопоставлять замеры с конкретными операциями. Это журнал, а не готовый отчёт.
Когда файл превышает 1000 строк, хук оставляет последние 500. Для записи нужен доступ к ~/.claude/performance.csv; если каталога ~/.claude нет, запись туда не сработает. Хук добавляется в .claude/settings.json.
Какие задачи решает
- записать замеры CPU перед вызовами инструментов
- сохранить RSS процесса для каждой операции
- сопоставить начало и конец вызова по имени инструмента
- сократить журнал до последних 500 строк после превышения 1000
Примеры запросов агенту
- Проанализируй замеры в
~/.claude/performance.csvи сравни инструменты по CPU. - Найди в
~/.claude/performance.csvоперации с высоким RSS. - Проверь, как меняется нагрузка между отметками
startиend.
Как установить performance-monitor
1Через claude-code-templates
npx claude-code-templates@latest --hook performance/performance-monitor2Вручную: положить файлы
.claude/settings.jsonБлок hooks: событие (PreToolUse, PostToolUse, Stop…) → команда. Личные — ~/.claude/settings.json
По шагам, с командами для каждой платформы: Хуки Claude Code: что это, где настраивать и как запретить опасную команду
Вопросы о performance-monitor
Как установить performance-monitor в Claude Code?
Выполните npx claude-code-templates@latest --hook performance/performance-monitor, затем добавьте хук в .claude/settings.json.
Что делает performance-monitor?
Перед и после вызова инструмента он записывает временную метку, CPU, RSS процесса и имя инструмента в ~/.claude/performance.csv.
Как performance-monitor ограничивает размер журнала?
Если в файле становится больше 1000 строк, хук заменяет его последними 500 строками.
Исходный текст
performance-monitor.json · MIT
{
"description": "Monitor system performance during Claude Code operations. Tracks CPU, memory usage, and execution time for performance optimization.",
"hooks": {
"PreToolUse": [
{
"matcher": "*",
"hooks": [
{
"type": "command",
"command": "echo \"$(date +%s.%N),$(ps -o %cpu= -p $$),$(ps -o rss= -p $$),$CLAUDE_TOOL_NAME,start\" >> ~/.claude/performance.csv"
}
]
}
],
"PostToolUse": [
{
"matcher": "*",
"hooks": [
{
"type": "command",
"command": "echo \"$(date +%s.%N),$(ps -o %cpu= -p $$),$(ps -o rss= -p $$),$CLAUDE_TOOL_NAME,end\" >> ~/.claude/performance.csv; if [[ $(wc -l < ~/.claude/performance.csv) -gt 1000 ]]; then tail -n 500 ~/.claude/performance.csv > ~/.claude/performance.csv.tmp && mv ~/.claude/performance.csv.tmp ~/.claude/performance.csv; fi"
}
]
}
]
}
}
© davila7 · MIT · davila7/claude-code-templates