The flight recorder is an olsrd plugin under development. Compare: the Discussion in Freifunk Berlin NO Forums
The aim of the Flight recorder is to provide a measurement and logging tool for network analysis. It should be able to record OLSR activity, such as general OLSRd status information, routing table changes and packet arrival times with varying granularity. Data will either be stored into an sqlite database in the file system or transferred to a specified location in the network.
The amount and granularity of recorded data should be automagically calculated from the amount of storage space allocated to the module and the desired recording timespan. In order not to exceed its storage space, older measurement data will be either discarded or aggregated into larger time samples.
Depending on the usage scenario, data may be stored either in volatile memory, or exported to external storage devices connected to the router. Storage in permanent memory is discouraged, as repeated writing operations will deteriorate the components. Export via WLAN likewise risks to affect the measurement scenario.
Possible usage scenarios for the flight recorder include:
- Permanent generation of advanced statistical information to memory.
- Setup of a specific measurement scenario with external storage devices attached.
- Collection of low-profile status information across the network.
A visualization and analysis software should be able to interpret single data files, as well as correlate files from several nodes in a given topology. To this purpose, it must be possible to determine the timer offset between different files, either by synchronizing the clocks in advance, or by observing unique network phenomena visible to all nodes.
Measurements will be passive and should not influence the radio traffic.
- Small ipkg with little configuration requirements.
- ntpclient for syncing (external?)
- flat file database, for example in sqlite format. (allows sql queries on data with little overhead)
- Possible metrics
- Link statistics (LQ, NLQ, ETX, Sig, Noise,..) in different granularity
- Packet arrival and sending events
- Packet queuing statistics
- System resource profile (CPU, memory, port range, ...)
- Routing topology, statistics
- Risks and Bottlenecks
- CPU power
- Export bandwidth
- repeatedly writing data on Flash memory is strongly discouraged