Open teh-cmc opened 1 year ago
It is very useful to be able to dynamically add and remove sinks at runtime.
For instance:
spawn
and start streaming to the viewer, then stop that stream once you reached the end of the corner caseThis mean we need an API along the following lines:
rerun = rr.new_recording(app_id=…, …)
rerun.add_sink(file_path="foo.rrd")
viewer_sink_id = rerun.add_sink(spawn=True)
…
rerun.remove_sink(viewer_sink_id)
When no sinks are attached, rerun.log(…)
should be a no-op
An interesting case to consider is streaming to an .rrd and calling spawn
. We could set up the native viewer to be able to stream-load an .rrd file that is being written to, requiring no extra WebSocket connection. That would also mean the rerun
library without the WebSocket
feature (and huge dependency tree) could still support spawn
(see https://github.com/rerun-io/rerun/issues/4788)
Adding to the thread another potential use case of interest: https://github.com/rerun-io/rerun/issues/6685
In a nutshell: Periodic calls to rr.save()
to generate smaller/manageable log files. This is particular relevant in robotic systems generating tons of data from depth sensors and multiple cameras.
Hello all, any updates on this topic? Rationale at https://github.com/rerun-io/rerun/issues/1998#issuecomment-1887409983 makes a lot of sense to me as well. Thanks!
Something along the lines of this pseudo code:
also need to update CLI args helpers for both Rust and Python to support mixing
--save
with anything else.