Using Timing and StatisticsΒΆ

To enable for a certain package, compile with

catkin build --no-deps --force-cmake <package_name> -DENABLE_TIMING=1 -DENABLE_STATISTICS=1

To disable it again, run

catkin build --no-deps --force-cmake <package_name> -DENABLE_TIMING=0 -DENABLE_STATISTICS=0

To time part of your code, you can use

#include <aslam/common/timer.h>

timing::Timer my_timer("My Operation");
// Some expensive operation that should be timed.
my_timer.Stop();

// Print all values.
timing::Timing::Print();

For statistics collection, you can do

#include <aslam/common/statistics/statistics.h>

statistics::StatsCollector my_statistics("My Statistics");
// Add a given value to the collection of statistical samples.
my_statistics.AddValue(5.4);
// Add the value 1 to the statistics (mostly useful to count certain events and their frequency).
my_statistics.IncrementOne();

// Printing similar to timing.
statistics::Statistics::Print();

You can also use the timing or statistics command in the console to see the data.