Each Orocos component can have a number of data ports. One can configure the reporting components such that one or more ports are captured of one or more peer components. The reporting components can work sample rate based, event based, or by requesting a snapshot of the current state. A number of file formats can be selected.
The Reporter can use buffers in order to log all data it receives or just report the last values in case it is flooded with data. By default, the Reporter will setup unbuffered connections and you need to override this manually if you wish to deviate from that.
A common usage scenario of the OCL::ReportingComponent goes as follows. An Orocos application is created which contains a reporting component and various other components. The reporting component is peer-connected to all components which must be monitored. An XML file or script command defines which data ports to log of each peer. When the reporting component is started, it reads the ports and writes the exchanged data to a file at a given sample rate or when new data is written.