rerun icon indicating copy to clipboard operation
rerun copied to clipboard

Runtime configuration for client-side filtering of log messages

Open jleibs opened this issue 1 year ago • 1 comments

When consuming data from a live stream, it's possible that the volume of data produced is too large for the network, or even the viewer, to handle.

At the moment the only way to control how much data Rerun produces is to manually change the individual log-line call-sites.

Given that our data is organized by Entity-path and Component, this would be a natural way of filtering the data that is sent.

There are several phases of functionality here that would all be useful:

  • Consult a configuration file at runtime and potentially drop messages in the batcher on client side. This would easily allow a user to configure the data produced by their program, without modifying code or recompiling, similar to how logging libraries allow configuration of verbosity.
    • This still pays the serialization and queueing cost but avoids sending the data over the network.
  • Allow for similar functionality to be modified at runtime through a back-channel on the viewer. This would enable the viewer, in live mode, to disable (or maybe downsample) high-volume streams.
  • Additionally, it would be nice if the SDK libraries allowed for a programmatic way of checking if a topic is enabled. This could allow the user to opt out of serializing (or even computing) certain costly debug signals if nobody is listening.

jleibs avatar Oct 03 '24 14:10 jleibs

Oops, looks like this is a dupe of: https://github.com/rerun-io/rerun/issues/7035

jleibs avatar Oct 03 '24 14:10 jleibs