mirror of
https://github.com/mblanke/ThreatHunt.git
synced 2026-03-01 05:50:21 -05:00
- NetworkMap: hunt-scoped force-directed graph with click-to-inspect popover - NetworkMap: zoom/pan (wheel, drag, buttons), viewport transform - NetworkMap: clickable IP/Host/Domain/URL legend chips to filter node types - NetworkMap: brighter colors, 20% smaller nodes - DatasetViewer: IOC columns highlighted with colored headers + cell tinting - AUPScanner: hunt dropdown replacing dataset checkboxes, auto-select all - Rename 'Social Media (Personal)' theme to 'Social Media' with DB migration - Fix /api/hunts timeout: Dataset.rows lazy='noload' (was selectin cascade) - Add OS column mapping to normalizer - Full backend services, DB models, alembic migrations, new routes - New components: Dashboard, HuntManager, FileUpload, NetworkMap, etc. - Docker Compose deployment with nginx reverse proxy
32 lines
1.2 KiB
Markdown
32 lines
1.2 KiB
Markdown
# Performance Profiling (Bun/Node)
|
|
|
|
Use this skill when:
|
|
- a hot path feels slow
|
|
- CPU usage is high
|
|
- you suspect accidental O(n²) or repeated work
|
|
- you need evidence before optimizing
|
|
|
|
## Bun CPU profiling
|
|
Bun supports CPU profiling via `--cpu-prof` (generates a `.cpuprofile` you can open in Chrome DevTools).
|
|
|
|
Upcoming: `bun --cpu-prof-md <script>` outputs a CPU profile as **Markdown** so LLMs can read/grep it easily.
|
|
|
|
### Workflow (Bun)
|
|
1) Run the workload with profiling enabled
|
|
- Today: `bun --cpu-prof ./path/to/script.ts`
|
|
- Upcoming: `bun --cpu-prof-md ./path/to/script.ts`
|
|
2) Save the output (or `.cpuprofile`) into `./profiles/` with a timestamp.
|
|
3) Ask the Reviewer agent to:
|
|
- identify the top 5 hottest functions
|
|
- propose the smallest fix
|
|
- add a regression test or benchmark
|
|
|
|
## Node CPU profiling (fallback)
|
|
- `node --cpu-prof ./script.js` writes a `.cpuprofile` file.
|
|
- Open in Chrome DevTools → Performance → Load profile.
|
|
|
|
## Rules
|
|
- Optimize based on measured hotspots, not vibes.
|
|
- Prefer algorithmic wins (remove repeated work) over micro-optimizations.
|
|
- Keep profiling artifacts out of git unless explicitly needed (use `.gitignore`).
|