@@ -31,8 +31,9 @@ configuration always overrides the zero-config fallback when present.
3131
3232.. note ::
3333
34- Snapshots are automatically deleted when a fault is cleared via the
34+ By default, snapshots are deleted when a fault is cleared via the
3535 ``DELETE /api/v1/faults/{code} `` endpoint or ``~/clear_fault `` service.
36+ Set ``snapshots.retain_on_clear: true `` to keep them across clears.
3637
3738Quick Start
3839-----------
@@ -98,8 +99,19 @@ Configure snapshot capture via fault manager parameters:
9899 Prevents snapshot storms when a fault is reported repeatedly. Set to 0 to disable.
99100 * - ``snapshots.max_per_fault ``
100101 - ``10 ``
101- - Maximum number of snapshots stored per fault code. When the limit is reached,
102- new snapshots for that fault are rejected. Set to 0 for unlimited.
102+ - Maximum number of snapshot rows stored per fault code. One confirmation
103+ writes one row per configured topic, and those rows are evicted together:
104+ past the limit the OLDEST capture set is dropped whole. A capture larger
105+ than the cap is kept anyway rather than torn, since half a freeze frame
106+ is indistinguishable from topics that were silent. Set to 0 for
107+ unlimited.
108+ * - ``snapshots.retain_on_clear ``
109+ - ``false ``
110+ - Keep a fault's value snapshots when it is acknowledged. ``false `` is the
111+ historical behaviour: clearing a fault deletes them. Turn it on together
112+ with ``rosbag.max_bags_per_fault ``, or acknowledging leaves the fault
113+ holding recordings whose matching readings are gone. Independent of
114+ ``max_per_fault ``, which still bounds growth either way.
103115 * - ``snapshots.capture_pool_size ``
104116 - ``2 ``
105117 - Max concurrent capture threads under a fault storm (>= 1). This parallelizes
@@ -348,7 +360,8 @@ Troubleshooting
348360
349361**Empty topics object in response **
350362
351- - The fault may have been cleared (snapshots are deleted on clear)
363+ - The fault may have been cleared (snapshots are deleted on clear unless
364+ ``snapshots.retain_on_clear `` is enabled)
352365- No topics were configured for this fault code
353366- All configured topics timed out or exceeded size limit
354367
@@ -498,7 +511,10 @@ Rosbag Configuration Options
498511 - ``true ``
499512 - Automatically delete a fault's bag when it is cleared. A recording
500513 shared by a burst of faults is deleted when the last fault referencing
501- it clears. Set to ``false `` to retain bags for manual analysis.
514+ it clears. Set to ``false `` to retain bags for manual analysis. Has no
515+ effect once ``max_bags_per_fault `` is anything other than ``1 ``: a
516+ history someone configured must not be what an acknowledgement takes
517+ away, so the cap governs retention there instead.
502518 * - ``snapshots.rosbag.lazy_start ``
503519 - ``false ``
504520 - Controls when the ring buffer starts recording. See diagram below.
0 commit comments