# How-to Guides Practical guides for common tasks. **📘 For Simulation Users** — building and configuring your own simulation: | Guide | What It Covers | |-------|----------------| | [Collision Configuration](collision-config) | Detection method, per-object modes, margin, cell size, multi-cell threshold | | [Custom Profiling](custom-profiling) | Adding your own profiling metrics via Agent/SimulationCore subclasses | **🔧 For PyBulletFleet Developers** — developing and debugging the framework: | Guide | Measures | Detects | Tool | Overhead | |-------|----------|---------|------|----------| | [Time Profiling](time-profiling) | Execution time (ms) | Performance bottlenecks | `time.perf_counter()` | < 0.1% CPU | | [Memory Profiling](memory-profiling) | Memory usage (MB) | Memory leaks, high usage | `tracemalloc` (built-in) | ~5–10% memory | | [Logging](logging) | Log messages | Configuration & runtime issues | Python `logging` | Negligible | > **Tip:** Time and memory profiling can be enabled simultaneously for > comprehensive analysis. Both share the `profiling_interval` setting. ```{toctree} :maxdepth: 2 :caption: For Simulation Users collision-config custom-profiling ``` ```{toctree} :maxdepth: 2 :caption: For PyBulletFleet Developers time-profiling memory-profiling logging ```