24 #ifndef __UTILS_TIME_TRACKER_H_ 25 #define __UTILS_TIME_TRACKER_H_ 42 TimeTracker(
const char *filename,
bool add_default_class =
false);
49 void ping(
unsigned int cls);
54 void ping(std::string comment =
"");
55 void reset(std::string comment =
"");
61 void average_and_deviation(std::vector<struct timeval *> &values,
62 double &average_sec,
double &average_ms,
63 double &deviation_sec,
double &deviation_ms);
68 std::vector<std::vector<struct timeval *> > __class_times;
69 std::vector<std::string> __class_names;
70 std::vector<struct timeval *> __times;
71 std::map<unsigned int, std::string> __comments;
72 std::vector<struct timeval *>::iterator __time_it;
73 std::map<unsigned int, std::string>::iterator __comment_it;
74 std::string __tracker_comment;
76 unsigned int __write_cycle;
~TimeTracker()
Destructor.
TimeTracker(const char *filename, bool add_default_class=false)
Constructor for file logging.
void ping_start(unsigned int cls)
Start of given class task.
void ping(unsigned int cls)
Ping class.
Fawkes library namespace.
void remove_class(unsigned int cls)
Remove a class.
static const unsigned int DEFAULT_CLASS
The default tracking class.
void print_to_file()
Print data to file suitable for gnuplot.
void ping_abort(unsigned int cls)
End of given class task without recording.
Scoped time tracking for specific item.
unsigned int add_class(std::string name)
Add a new class.
void ping_end(unsigned int cls)
End of given class task.
void reset(std::string comment="")
Reset times.
void print_to_stdout()
Print results to stdout.