On-demand streams

On-demand ingestion is the process of storing robot telemetry on the device itself so it can be accessed when needed or kept until extraction. Doing this allows us to move beyond the paradigm that a robot is simply an “always-on” source of various kinds of telemetry streams, which can only be either “on” or “off”.

The advantage of on-demand ingestion is that it allows robot businesses to reduce the costs of mobile data transfer, cloud storage, and processing. When it comes down to it, the cost of additional on-device hard drive space is minuscule compared to the cost of cellular data transfer. By storing one’s observational data on-device and accessing it selectively — rather than passively transferring a constant stream of data to the cloud — businesses can often reduce their cellular data expenditures. Ultimately, not all telemetry generated by a robot needs to be sent immediately.

Availability of on-demand data

Once streams are configured for on-demand ingestion, the presence of on-demand can be viewed from the device Views. Streams that are configured for on-demand ingestion can be retrieved either individually or for the entire robot.

On-demand presence on module
Streams that are configured as on-demand will have a purple tick mark to indicate the presence of on-demand data.

See below for an example of transform that is configured as on-demand stream and GPS that is configured to stream always.

On-demand presence on Timeline
The presence of on-demand data is also indicated on the Timeline as a purple line above the normal presence data.

Retrieve on-demand data

On-demand data can be retrieved either for a specific module or for the whole robot/device.

Retrieve on-demand stream from a specific module:
Click on more menu at the top of the module and choose Retrieve on-demand data.

Enter the time window to retrieve data. Timeline dictates the start time from which to retrieve data. The on-demand retrieval request will be queued up to be sent to the robot. If the robot is offline, it will stay in the queue until it comes online. You can view the status of on the timeline or on the Events page.

Retrieve on-demand data from the whole device:
Click on more menu at the top of the channel and choose Retrieve on-demand data.


On-demand streams will ingest data immediately upon creation to initialize the stream, and then at least once every 24 hours to maintain stream viability. Users trigger larger data transactions.