{"id":27398260,"url":"https://github.com/ryanontheinside/comfyui_profilerx","last_synced_at":"2025-04-14T01:30:19.912Z","repository":{"id":272929918,"uuid":"917961898","full_name":"ryanontheinside/ComfyUI_ProfilerX","owner":"ryanontheinside","description":"Node and workflow profiling. Find bottlenecks in your workflows. See trends over time.","archived":false,"fork":false,"pushed_at":"2025-04-12T19:55:58.000Z","size":73,"stargazers_count":45,"open_issues_count":3,"forks_count":5,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-12T20:33:21.192Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ryanontheinside.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-01-17T01:12:28.000Z","updated_at":"2025-04-12T19:56:03.000Z","dependencies_parsed_at":"2025-04-12T20:37:12.707Z","dependency_job_id":null,"html_url":"https://github.com/ryanontheinside/ComfyUI_ProfilerX","commit_stats":null,"previous_names":["ryanontheinside/comfyui_profilerx"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanontheinside%2FComfyUI_ProfilerX","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanontheinside%2FComfyUI_ProfilerX/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanontheinside%2FComfyUI_ProfilerX/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanontheinside%2FComfyUI_ProfilerX/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ryanontheinside","download_url":"https://codeload.github.com/ryanontheinside/ComfyUI_ProfilerX/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248807234,"owners_count":21164650,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-04-14T01:30:18.703Z","updated_at":"2025-04-14T01:30:19.760Z","avatar_url":"https://github.com/ryanontheinside.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ComfyUI ProfilerX\n\nA performance profiling suite for ComfyUI that automatically tracks execution time, memory usage, and cache performance of your workflows.\n\n## Features\n\n- 🔄 Real-time monitoring of workflow execution\n- 📊 Memory usage tracking (VRAM and RAM)\n- ⚡ Node execution time breakdown\n- 💾 Cache hit/miss statistics\n- 📈 Beautiful, interactive charts and tables\n- 🎯 Zero configuration required\n- 📱 Responsive UI that integrates with ComfyUI's interface\n- 📊 Historical data tracking and analysis\n- ⚙️ Time-range filtering for analytics\n- 🔍 Sortable performance tables\n\n## Requirements\n\n- ComfyUI (latest version)\n- Python 3.8+\n- CUDA-capable GPU (for VRAM monitoring)\n- Modern web browser\n\n## Installation\n\n### Option 1: ComfyUI Manager (Recommended)\n1. Install [ComfyUI Manager](https://github.com/ltdrdata/ComfyUI-Manager)\n2. Use the Manager's interface to install \"ComfyUI ProfilerX\"\n3. Restart ComfyUI\n\n### Option 2: Manual Installation\n1. Clone this repository into your `custom_nodes` directory:\n```bash\ncd ComfyUI/custom_nodes\ngit clone https://github.com/ryanontheinside/ComfyUI_ProfilerX\n```\n\n2. Install the required Python package:\n```bash\ncd ComfyUI_ProfilerX\npip install -r requirements.txt\n```\n\n3. Restart ComfyUI\n\n## Usage\n\nThe profiler integrates directly into ComfyUI's interface:\n\n1. After installation, you'll see a new performance monitoring panel in the top-right corner\n2. Run your workflows as normal\n3. The dashboard will automatically update with:\n   - Total execution time\n   - Peak memory usage (VRAM and RAM)\n   - Cache performance metrics\n   - Per-node execution time breakdown\n   - Historical performance trends\n\n\u003cimg src=\"https://github.com/user-attachments/assets/4dd514a4-8d52-4047-9f2c-3588a669e2c9\" alt=\"ProfilerX Interface\" width=\"600\"\u003e\n\nThe profiler runs automatically in the background, collecting data for every workflow execution. No additional configuration is needed.\n\n## Features in Detail\n\n### Real-time Monitoring\n- Live execution time tracking\n- Memory usage graphs (VRAM and RAM)\n- Cache hit/miss counters\n- Node-by-node progress tracking\n\n### Analytics Dashboard\n- Historical performance trends\n- Node execution time breakdown\n- Memory usage patterns\n- Cache efficiency analysis\n- Time-range filtering\n- Sortable performance tables\n\n### Data Management\n- Automatic history tracking\n- Data persistence between sessions\n- Archive management\n- Export capabilities\n\n## How it Works\n\nProfilerX integrates directly with ComfyUI's execution system to collect performance metrics:\n\n- Execution time is measured for both individual nodes and the entire workflow\n- Memory usage is tracked using `torch.cuda` for VRAM and `psutil` for RAM\n- Cache performance is monitored by intercepting ComfyUI's caching system\n- All data is collected automatically with minimal performance impact\n- Historical data is stored locally for trend analysis\n\n## Execution Tracking\n\nIn addition to workflow profiling, this extension includes a detailed execution tracking system that monitors ComfyUI's internal method calls. This can be useful for:\n- Understanding the execution flow of your workflows\n- Identifying bottlenecks in specific operations\n- Debugging performance issues\n- Analyzing method call patterns and timing\n\n### Enabling Execution Tracking\n\nBy default, execution tracking is disabled. To enable it:\n\n1. Open `ComfyUI_ProfilerX/execution_core.py`\n2. Find the `ENABLED` flag at the top of the `ExecutionTracker` class:\n```python\nclass ExecutionTracker:\n    _instance = None\n    _lock = threading.Lock()\n    ENABLED = False  # Change this to True to enable tracking\n```\n3. Change `ENABLED = False` to `ENABLED = True`\n4. Restart ComfyUI\n\nWhen enabled, the tracker will record detailed timing information for internal ComfyUI operations in `ComfyUI_ProfilerX/data/method_traces.json`.\n\n\n\n## Other Projects by RyanOnTheInside\n\nCheck out my other ComfyUI custom nodes:\n\n- [ComfyUI_RyanOnTheInside](https://github.com/RyanOnTheInside/ComfyUI_RyanOnTheInside) - Everything Reactivity\n- [ComfyUI_RealTimeNodes](https://github.com/RyanOnTheInside/ComfyUI_RealTimeNodes) - Real-Time ComfyUI Use Cases\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.\n\n## License\n\nMIT License - feel free to use this in your own projects!\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryanontheinside%2Fcomfyui_profilerx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fryanontheinside%2Fcomfyui_profilerx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryanontheinside%2Fcomfyui_profilerx/lists"}