Periodic Recording Splitter

As you begin collecting more and more data, you may want to periodically split the recording into separate, smaller recordings for one reason or another (to have 10x 30-second recordings rather than 1x 300-second recording, for example).

This can, of course, be accomplished in a post-processing manner using the rec_splitter tool. This splitter job can be performed a variety of places according to your workflow: on the data logging platform itself, on some intermediate upload station as a part of your data ingestion pipeline, or near your data lake itself.

However, other use cases may require that this task be performed as the data is being recorded in a sort of “live” way. This can be accomplished in a simple way through the use of the Condition component.

Each RTMaps Recorder component has an action available called Split. From the Recorder documentation:

As noted in the “Script name” column of the table above, this action can be called as a parse command via (assuming Recorder Component Name is RecFile_1):

  1. RecFile_1.Split

Then, we can use a Condition component to cause this parse command to run whenever some Condition is true. In the special case that there are no inputs to a Condition component, the Condition is evaluated periodically according to the Period command (which is in units of microseconds like any other integer time in RTMaps). Therefore, if we want to simply run the split parse command periodically, we can simply have a Condition that will always be true and will be evaluated every Period such as the below (which splits the recording every 10000000 microseconds = 1 second):

This method for periodically running a parse command could be applied to other scripting methods which you may want to run, such as triggering the recording or resetting some internal variable or wherever your creative mind or ingenious supervisor might lead you.

Related references: