configure-memory-profiling

安装量: 50
排名: #14638

安装

npx skills add https://github.com/laurigates/claude-plugins --skill configure-memory-profiling
/configure:memory-profiling
Check and configure memory profiling infrastructure for Python projects using pytest-memray.
When to Use This Skill
Use this skill when...
Use another approach when...
Setting up memory profiling for a Python project from scratch
Project is not Python — memray/pytest-memray are Python-only
Adding pytest-memray integration for CI memory regression detection
Profiling CPU performance — use cProfile or py-spy instead
Configuring memory leak detection in test suites
Running load/stress tests — use
/configure:load-tests
Setting memory thresholds and allocation benchmarks for CI
Quick one-off memory check — run
uv run pytest --memray
directly
Enabling native C extension stack tracking for deep profiling
Profiling production systems live — use memray standalone or Grafana
Context
Project root: !
pwd
Python project: !
find . -maxdepth 1 ( -name 'pyproject.toml' -o -name 'setup.py' )
pytest-memray installed: !
grep -r 'pytest-memray' pyproject.toml requirements*.txt
memray installed: !
grep -r 'memray' pyproject.toml requirements*.txt
Conftest fixtures: !
grep -l 'memray' tests/conftest.py
Memory test files: !
find tests -maxdepth 2 -name 'memory' -o -name 'memray'
Benchmark tests: !
find tests -maxdepth 2 -type d -name 'benchmarks'
CI workflows: !
find .github/workflows -maxdepth 1 -name 'memory'
Memory reports dir: !
find . -maxdepth 1 -type d -name 'memory-reports'
Parameters
Parse from
$ARGUMENTS
:
--check-only
Report memory profiling compliance status without modifications
--fix
Apply all fixes automatically without prompting
--threshold
Set default memory threshold in MB (default: 100)
--native
Enable native stack tracking for C extensions
Supported tools:
Tool
Best For
pytest-memray (recommended)
Test-integrated profiling, CI/CD memory limits, leak detection
memray standalone
Deep analysis, flame graphs, production profiling
tracemalloc
Quick debugging, no dependencies, lightweight
Execution
Execute this memory profiling configuration check:
Step 1: Verify this is a Python project
Read the context values. If no
pyproject.toml
or
setup.py
is found, report "Not a Python project" and stop.
Step 2: Check latest tool versions
Use WebSearch or WebFetch to verify current versions:
pytest-memray
Check
PyPI
memray
Check
PyPI
Step 3: Analyze current memory profiling setup
Check for complete setup:
pytest-memray installed as dev dependency
memray backend installed
pytest configuration in pyproject.toml (markers, addopts)
Memory limit tests using
@pytest.mark.limit_memory
Leak detection enabled (
--memray-leak-detection
)
Native tracking configured (if
--native
flag)
CI/CD integration configured
Reports directory exists
Step 4: Generate compliance report
Print a compliance report covering:
Installation status (pytest-memray, memray, pytest versions)
Configuration (pytest integration, markers, leak detection, native tracking)
Test coverage (memory limit tests, allocation benchmarks)
CI/CD integration (workflow, threshold, artifact upload, trend tracking)
End with overall issue count and recommendations.
If
--check-only
is set, stop here.
Step 5: Install and configure pytest-memray (if --fix or user confirms)
Install pytest-memray:
uv add --group dev pytest-memray
Install native support if
--native
:
uv add --group dev pytest-memray[native]
Update
pyproject.toml
with pytest configuration (markers, filterwarnings)
Create
memory-reports/
directory
Use configuration templates from
REFERENCE.md
Step 6: Create memory profiling test files
Add memory fixtures to
tests/conftest.py
(reports dir setup, threshold fixture, data generator)
Create
tests/test_memory_example.py
with example memory limit tests
Create
tests/benchmarks/test_memory_benchmarks.py
for trend tracking
Use test templates from
REFERENCE.md
Step 7: Add package scripts
Add memory profiling commands to Makefile or pyproject.toml:
test-memory
:
uv run pytest --memray
test-memory-report
Run with bin output + generate flame graph test-memory-leaks : uv run pytest --memray --memray-leak-detection test-memory-native : uv run pytest --memray --native Step 8: Configure CI/CD integration Create .github/workflows/memory-profiling.yml with: Memory profiling on PRs (detect regressions) Scheduled weekly benchmarks for trend tracking Flame graph generation PR comment with results Use workflow template from REFERENCE.md Step 9: Update standards tracking Update .project-standards.yaml : components : memory_profiling : "2025.1" memory_profiling_tool : "pytest-memray" memory_profiling_threshold_mb : 100 memory_profiling_leak_detection : true memory_profiling_ci : true memory_profiling_native : false Step 10: Print final compliance report Print a summary of packages installed, configuration applied, test files created, commands available, CI/CD configured, and next steps for the user. For detailed test templates, CI workflows, and standalone memray commands, see REFERENCE.md . Agentic Optimizations Context Command Quick compliance check /configure:memory-profiling --check-only Auto-fix all issues /configure:memory-profiling --fix Run memory tests uv run pytest --memray Detect memory leaks uv run pytest --memray --memray-leak-detection Run with native tracking uv run pytest --memray --native Generate flamegraph uv run memray flamegraph output.bin -o flamegraph.html Flags Flag Description --check-only Report status without offering fixes --fix Apply all fixes automatically without prompting --threshold Set default memory threshold in MB (default: 100) --native Enable native stack tracking for C extensions Examples

Check compliance and offer fixes

/configure:memory-profiling

Check only, no modifications

/configure:memory-profiling --check-only

Auto-fix with custom threshold

/configure:memory-profiling --fix --threshold 200

Enable native tracking for C extensions

/configure:memory-profiling
--fix
--native
Error Handling
Not a Python project
Skip with message, suggest manual setup
pytest not installed
Offer to install pytest first
memray not supported
Note platform limitations (Linux/macOS only)
Native tracking unavailable
Warn about missing debug symbols
CI workflow exists
Offer to update or skip See Also /configure:tests - Configure testing frameworks /configure:coverage - Code coverage configuration /configure:load-tests - Load and performance testing /configure:all - Run all compliance checks pytest-memray docs : https://pytest-memray.readthedocs.io memray docs : https://bloomberg.github.io/memray
返回排行榜