diff --git a/docs/user-guide/loss-prevention/lp-benchmarking.md b/docs/user-guide/loss-prevention/lp-benchmarking.md index a08d590..99f0db9 100644 --- a/docs/user-guide/loss-prevention/lp-benchmarking.md +++ b/docs/user-guide/loss-prevention/lp-benchmarking.md @@ -158,12 +158,20 @@ make benchmark-stream-density **Default behavior:** -- Tests until FPS drops below 14.95 target +- Tests until FPS of any stream drops below its own target FPS from config JSON (`targetFps`); if not set, default `14.95` is used. - Uses OOM protection to prevent system crashes - Reports maximum sustainable pipeline count ### Custom Target FPS +Set per-stream target FPS using `lane_config.cameras[].targetFps` in `camera_to_workload_*.json`. + +Set `targetFps` based on workload criticality and source FPS. + +If `targetFps` is not present for a stream (or is invalid/non-positive), the stream falls back to `TARGET_FPS`. + +CLI examples: + ```bash # Test for different performance thresholds make TARGET_FPS=13.5 benchmark-stream-density @@ -181,6 +189,8 @@ make PIPELINE_SCRIPT=yolo11n_effnetb0.sh TARGET_FPS=13.5 benchmark-stream-densit > **Warning:** Setting `OOM_PROTECTION=0` may crash your system requiring a hard reboot. +Note: stream-density caches camera-target mappings using `(config_path, file_mtime)` and auto-refreshes when the camera config changes; unit tests for this behavior are in the `performance-tools` repository at `benchmark-scripts/stream_density_test.py`. + ### Expected Output ``` @@ -227,6 +237,7 @@ The application is highly configurable via JSON files in the `configs/` director { "camera_id": "cam1", "fileSrc": "sample-media/video1.mp4", + "targetFps": 12.5, "workloads": ["items_in_basket", "multi_product_identification"], "region_of_interest": {"x": 100, "y": 100, "x2": 800, "y2": 600} } diff --git a/docs_src/use-cases/loss-prevention/performance.md b/docs_src/use-cases/loss-prevention/performance.md index 420f4ea..dc3b699 100644 --- a/docs_src/use-cases/loss-prevention/performance.md +++ b/docs_src/use-cases/loss-prevention/performance.md @@ -142,11 +142,20 @@ make benchmark-stream-density ``` **Default behavior:** -- Tests until FPS drops below 14.95 target +- Tests until FPS of any stream drops below its own target FPS from config JSON (`targetFps`); if not set, default `14.95` is used. - Uses OOM protection to prevent system crashes - Reports maximum sustainable pipeline count ### Custom Target FPS + +Set per-stream target FPS using `lane_config.cameras[].targetFps` in `camera_to_workload_*.json`. + +Set `targetFps` based on workload criticality and source FPS. + +If `targetFps` is not present for a stream (or is invalid/non-positive), the stream falls back to `TARGET_FPS`. + +CLI examples: + ```bash # Test for different performance thresholds make TARGET_FPS=13.5 benchmark-stream-density @@ -164,6 +173,8 @@ make PIPELINE_SCRIPT=yolo11n_effnetb0.sh TARGET_FPS=13.5 benchmark-stream-densit > ⚠️ **Warning**: Setting `OOM_PROTECTION=0` may crash your system requiring a hard reboot. +Note: stream-density caches camera-target mappings using `(config_path, file_mtime)` and auto-refreshes when the camera config changes; unit tests for this behavior are in the `performance-tools` repository at `benchmark-scripts/stream_density_test.py`. + ### Expected Output ``` Total averaged FPS per stream: 15.210442307692306 for 26 pipeline(s) @@ -205,6 +216,7 @@ The application is highly configurable via JSON files in the `configs/` director { "camera_id": "cam1", "fileSrc": "sample-media/video1.mp4", + "targetFps": 12.5, "workloads": ["items_in_basket", "multi_product_identification"], "region_of_interest": {"x": 100, "y": 100, "x2": 800, "y2": 600} }