1.15. Saving and restoring the statistics data

Fast DDS Statistics Backend allows to dump the contents of the database to the file system. This may be used as a backup procedure, or as a means of analyzing the data offline later. It is also possible to load a dump previously saved, which allows for this analysis to be done with any front-end that communicates with the Fast DDS Statistics Backend.

For information about the format of the dumped data, please, refer to Database dumps.

Warning

Loading a saved database can only be done on an empty Backend. This means that no monitors were initialized since the Backend started, or that the Backend has been reset using reset(). If load_database() is used on a non-empty Backend, an exception will be issued.

The following snippet shows how to dump the current database contents to a file, and then load another data set that was saved previously, resetting the Backend in between.

// Save the database to a file
StatisticsBackend::dump_database("new_backend_dump.json", false);

// Reset the Backend to empty the current database contents
StatisticsBackend::reset();

// Load an old backup to the emptied Backend
StatisticsBackend::load_database("old_backend_dump.json");

The bool parameter of dump_database() indicates if the statistics data of all entities must be cleared after the dump.

// Save the database to a file, cleaning the statistics data
StatisticsBackend::dump_database("new_backend_dump.json", true);