Class real_time_tools::Timer¶
-
class
real_time_tools
::
Timer
¶ The timer class is a simple time measurement class that measure between tic and tac and with a memory buffer of a certain size.
Public Functions
-
Timer
()¶ timer constructor
-
void
tic
()¶ tic measures the time when it is called.
This is to be used with the tac method that will return the time elapsed between tic and tac.
-
double
tac
()¶ tac is to be used after tic has been called.
-
double
tac_tic
()¶ this is like a tac() followed by a tic(), making sure the previous tac_time becomes the tic_time
-
void
log_time_interval
(double time_interval)¶ Save the time interval measured.
- Parameters
time_interval
:
-
void
dump_measurements
(std::string file_name) const¶ IOSTREAM functions.
dump_tic_tac_measurements writes in a file the time elapsed between every tick
- Parameters
file_name
: is the path to the file.
-
void
print_statistics
() const¶ print_statistics display in real time the statistics of the time measurements acquiered so far.
-
void
set_memory_size
(const unsigned memory_buffer_size)¶ SETTERS.
set_memory_size sets the buffer size. It resets all value of the buffer to zero. !! WARNING non real time method. !!
- Parameters
memory_buffer_size
: is the size use to reset the size of the
-
void
set_name
(std::string name)¶ set_name modify the name of the object for display purposes.
- Parameters
name
: is the new name of the object.
-
double
get_min_elapsed_sec
() const¶ GETTERS.
get_min_elapsed_sec
- Return
a copy of the minimum elapsed times
-
double
get_max_elapsed_sec
() const¶ get_max_elapsed_sec
- Return
a copy of the maximum elapsed times
-
double
get_avg_elapsed_sec
() const¶ get_avg_elapsed_sec
- Return
a copy of the average elapsed time
-
double
get_std_dev_elapsed_sec
() const¶ get_std_dev_elapsed_sec
- Return
a copy of the standard deviation of the elapsed times
Public Static Functions
-
double
get_current_time_sec
()¶ Some utilities.
get_current_time_sec gives the current time in double and in seconds
- Return
-
double
get_current_time_ms
()¶ get_current_time_ms gives the current time in double and in milli seconds
- Return
-
int
sleep_microseconds
(int sleep_duration_us)¶ puts the current thread to sleep for the duration of “sleep_duration_us” micro-seconds.
- Return
0 on success, error code otherwise
- Parameters
sleep_time_us
: is the sleeping duration asked in micro-seconds.
-
void
sleep_sec
(const double &sleep_time_sec)¶ sleep_sec puts the current thread to sleep for the duration of “sleep_time_sec” seconds.
- Parameters
sleep_time_sec
: is the sleeping duration asked in seconds.
-
void
sleep_ms
(const double &sleep_time_ms)¶ sleep_ms puts the current thread to sleep for the duration of “sleep_time_sec” seconds.
- Parameters
sleep_time_ms
: is the sleeping duration asked in seconds.
-
void
sleep_until_sec
(const double &date_sec)¶ sleep_until_sec puts the threads to sleep until the date “date_sec” is reached.
- Parameters
date_sec
: is the date until when to sleep in seconds.
-
void
timespec_add_sec
(struct timespec &date_spec, const double duration_sec)¶ timespec_add_sec posix type of a date in time.
- Parameters
date_spec
: is the date to be changedduration_sec
: the duration to be added to “t” in seconds
-
void
sec_to_timespec
(double date_sec, struct timespec &date_spec)¶ sec_to_timespec converts a double representing the time in seconds to a struct timespec.
- Parameters
[in] date_sec
: is the time in sec to be converted.[out] date_spec
: is the converted structure.
-
std::string
get_current_date_str
()¶ get_current_date_str get the current date and format it in a string with “year_month_day_hour_minute_sec”
-