161-java-profiling-detect — скилл для Claude Code: профилирование Java
Скилл ставит сбор данных о производительности Java-приложения: CPU, память, блокировки, GC и I/O. Пригодится, когда код тормозит и надо понять почему.
npx skills add jabrena/plinth --skill 161-java-profiling-detect -a claude-codeЧто делает 161-java-profiling-detect
Скилл ведёт первую фазу работы с производительностью — сбор замеров. Агент запускает Java-процесс с профилирующими JVM-флагами, затем подключает async-profiler v4.x и снимает данные по выбранной проблеме: перегрев CPU, утечка памяти, конкуренция за блокировки, паузы GC, узкое место в I/O. На выходе — flamegraph и запись JFR с меткой времени.
Внутри — bash-шаблоны скриптов и структура каталогов: profiler/scripts, profiler/results, profiler/current. Скрипты надо копировать из шаблонов дословно, без правок и «улучшений» — так и написано в ограничениях скилла. Определение ОС и архитектуры, а также проверка дистрибутива async-profiler выполняются автоматически.
Бинарники профилировщика скилл не скачивает. Нужен уже установленный async-profiler: переменная ASYNC_PROFILER_HOME или каталог profiler/current должны указывать на доверенную сборку. Если этого нет, шаг с профилированием не пройдёт. Перед подключением профилировщика убедитесь, что целевой Java-процесс запущен. Скилл использует JEP 518 и JEP 520 из Java 25 для снижения накладных расходов.
Какие задачи решает
- снять flamegraph по горячим методам Java-приложения
- найти утечку памяти и увидеть, какие объекты её держат
- разобраться с блокировками и конкуренцией потоков
- замерить паузы сборщика мусора
- собрать запись JFR для последующего разбора
Примеры запросов агенту
- Собери профиль CPU для запущенного Java-процесса и покажи flamegraph
- Приложение тормозит — сними данные по памяти и блокировкам
- Собери JFR-запись и сложи результаты в profiler/results
Как установить 161-java-profiling-detect
1Через Skills CLI (Vercel)
npx skills add jabrena/plinth --skill 161-java-profiling-detect -a claude-code2Вручную: положить файлы
~/.claude/skills/161-java-profiling-detect/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/161-java-profiling-detect/
1Через Skills CLI (Vercel)
npx skills add jabrena/plinth --skill 161-java-profiling-detect -a codex2Вручную: положить файлы
.agents/skills/161-java-profiling-detect/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add jabrena/plinth --skill 161-java-profiling-detect -a cursor2Вручную: положить файлы
.cursor/skills/161-java-profiling-detect/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install jabrena/plinth 161-java-profiling-detect2Вручную: положить файлы
.github/skills/161-java-profiling-detect/SKILL.md1Через Skills CLI (Vercel)
npx skills add jabrena/plinth --skill 161-java-profiling-detect -a gemini-cli2Командой платформы
gemini skills install https://github.com/jabrena/plinth --path skills/161-java-profiling-detectВручную: положить файлы
.devin/skills/161-java-profiling-detect/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add jabrena/plinth --skill 161-java-profiling-detect -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора40
Похожие
Рядом в теме «Бэкенд и API»
Всё по теме «Бэкенд и API» →Вопросы о 161-java-profiling-detect
Как установить 161-java-profiling-detect в Claude?
Выполните npx skills add jabrena/plinth --skill 161-java-profiling-detect -a claude-code. Скилл окажется в ~/.claude/skills/161-java-profiling-detect/SKILL.md.
Что делает 161-java-profiling-detect?
Настраивает сбор данных о производительности Java-приложения через async-profiler v4.x: запускает процесс с профилирующими флагами, подключает профилировщик и сохраняет flamegraph и JFR-записи.
Что нужно для работы скилла?
Установленный async-profiler, на который указывает ASYNC_PROFILER_HOME или каталог profiler/current. Скилл не скачивает бинарники сам, а запущенный Java-процесс нужен до подключения профилировщика.
Исходный текст
SKILL.md · Apache-2.0
--- name: 161-java-profiling-detect description: Use when you need to set up Java application profiling to detect and measure performance issues — including trusted preinstalled async-profiler v4.x setup, problem-driven profiling (CPU, memory, threading, GC, I/O), interactive profiling scripts, JFR integration with Java 25 (JEP 518, JEP 520), or collecting profiling data with flamegraphs and JFR recordings. This should trigger for requests such as Improve the code with profiling; Apply Profiling; Refactor the code with profiling; Add profiling support; Collect JFR or async-profiler data for Java performance. Part of Plinth Toolkit license: Apache-2.0 metadata: author: Juan Antonio Breña Moral version: 0.19.0 --- # Java Profiling Workflow / Step 1 / Collect data to measure potential issues Set up the Java profiling detection phase using a trusted preinstalled async-profiler v4.x, problem-driven interactive profiling scripts, and comprehensive data collection for CPU hotspots, memory leaks, lock contention, GC issues, and I/O bottlenecks. Uses JEP 518 (Cooperative Sampling) and JEP 520 (Method Timing) for reduced overhead. **What is covered in this Skill?** - Run application with profiling JVM flags (run-java-process-for-profiling.sh) - Interactive profiling script (profiler/scripts/profile-java-process.sh) — copy exact template - Directory structure: profiler/scripts/, profiler/results/, profiler/current/ - Automated OS/architecture detection and trusted preinstalled async-profiler validation - CPU, memory, lock, GC, I/O profiling modes - Flamegraph and JFR output with timestamped results **Scope:** Use the exact bash script templates without modification or interpretation. ## Constraints Copy bash scripts exactly from templates. Ensure JVM flags are applied for profiling compatibility. Verify Java processes are running before attaching profiler. - **CRITICAL**: Copy the bash script templates exactly — do not modify, interpret, or enhance - **SETUP**: Create profiler directory structure: profiler/scripts, profiler/results - **SUPPLY CHAIN**: Do not download profiler binaries at runtime; require `ASYNC_PROFILER_HOME` or `profiler/current` to point to a trusted, preinstalled async-profiler distribution - **EXECUTABLE**: Make scripts executable with chmod +x - **BEFORE APPLYING**: Read the reference for exact script templates and setup instructions - **EDGE CASE**: If request scope is ambiguous, stop and ask a clarifying question before applying changes - **EDGE CASE**: If required inputs, files, or tooling are missing, report what is missing and ask whether to proceed with setup guidance ## When to use this skill - Improve the code with profiling - Apply Profiling - Refactor the code with profiling - Add profiling support - Collect JFR or async-profiler data for Java performance ## Workflow 1. **Read profiling setup reference** Read `references/161-java-profiling-detect.md` and use script templates exactly as provided. 2. **Create profiler workspace and scripts** Create `profiler/scripts` and `profiler/results`, copy setup/profile scripts verbatim, and make scripts executable. 3. **Run application with profiling compatibility** Start Java process with required profiling JVM flags and verify target process availability for profiler attachment. 4. **Collect profiling artifacts** Capture CPU/memory/lock/GC/I/O data and produce timestamped flamegraph and JFR outputs for analysis. ## Reference For detailed guidance, examples, and constraints, see [references/161-java-profiling-detect.md](references/161-java-profiling-detect.md).
© Juan Antonio Breña Moral · Apache-2.0 · jabrena/plinth