agent/claude/perf/commands/perf.md
Snider c1ef2841d3
feat: /core:perf performance profiling helpers (#94)
This commit introduces a new `/core:perf` command with subcommands to profile performance for Go and PHP projects.

Implemented subcommands:
- `/core:perf test`: Profiles the test suite for Go and PHP projects, identifying slow tests and providing actionable suggestions.
- `/core:perf request <url>`: Profiles HTTP requests and provides suggestions for optimization.
- `/core:perf query <query>`: Analyzes slow database queries for MySQL, providing suggestions for indexing.
- `/core:perf memory [script_path]`: Analyzes memory usage for Go and PHP projects.

Changes made:
- Created a new `perf` plugin with the necessary directory structure and metadata.
- Registered the plugin in the marketplace.
- Implemented the `/core:perf` command and its subcommands.
- Added scripts for each subcommand with logic for both Go and PHP.
- Improved the scripts based on code review feedback, including:
    - Fixing incorrect Xdebug usage in the PHP test profiler.
    - Improving the PHP memory profiler with Xdebug.
    - Adding dependency checks for `xmlstarlet` and `bc`.
    - Improving error handling and dependency messages.
    - Adding cleanup for temporary files.
    - Documenting the MySQL dependency.
2026-02-02 07:24:35 +00:00

1.1 KiB

name description args
perf Performance profiling helpers for Go and PHP. <subcommand> [options]

Performance Profiling

Profile test suite, HTTP requests, and analyze slow queries and memory usage.

Subcommands

  • test: Profile the test suite.
  • request <url>: Profile an HTTP request.
  • query <query>: Analyze a slow query (requires MySQL client and credentials).
  • memory [script_path]: Analyze memory usage.

Usage

/core:perf test
/core:perf request /api/users
/core:perf query "SELECT * FROM users WHERE email = 'test@example.com'"
/core:perf memory

Actions

Test Profiling

Run this command to profile the test suite:

"${CLAUDE_PLUGIN_ROOT}/scripts/perf-test.sh"

Request Profiling

Run this command to profile an HTTP request:

"${CLAUDE_PLUGIN_ROOT}/scripts/perf-request.sh" "<url>"

Query Analysis

Run this command to analyze a slow query:

"${CLAUDE_PLUGIN_ROOT}/scripts/perf-query.sh" "<query>"

Memory Analysis

Run this command to analyze memory usage:

"${CLAUDE_PLUGIN_ROOT}/scripts/perf-memory.sh" "<script_path>"