37 #ifndef UTILITIES_HEADER 38 #define UTILITIES_HEADER 43 #include <sys/resource.h> 46 #define MAX_HOST_NAME_LEN 100 53 #define MAX_WORKING_DIRECTORY_LEN 800 67 double* residentMemGigaBytes,
68 double* virtualMemPeakGigaBytes);
91 if(gettimeofday(&tv, NULL) != 0)
92 throw std::runtime_error(
"Error in get_wall_seconds(), in gettimeofday().");
93 double seconds = tv.tv_sec + (double)tv.tv_usec / 1000000;
98 if(getrusage (RUSAGE_SELF, &usage) != 0)
99 throw std::runtime_error(
"Error in get_current_cpu_times(), in getrusage().");
100 seconds_usr = usage.ru_utime.tv_sec + (double)usage.ru_utime.tv_usec / 1000000;
101 seconds_sys = usage.ru_stime.tv_sec + (
double)usage.ru_stime.tv_usec / 1000000;
111 void print(
int area,
const char *routine) {
114 double seconds_usr, seconds_sys;
119 routine, secondsTakenCPU_usr, secondsTakenCPU_sys, secondsTakenWall);
#define MAX_HOST_NAME_LEN
Definition: utilities.h:46
Functionality for writing output messages to a text file.
#define LOG_CAT_TIMINGS
Definition: output.h:52
#define MAX_WORKING_DIRECTORY_LEN
Definition: utilities.h:53
double startTimeCPU_sys
Definition: utilities.h:82
int get_memory_usage_by_ps(double *virtualMemoryGigaBytes, double *residentMemoryGigaBytes)
Definition: utilities.cc:130
Definition: utilities.h:55
double get_start_time_wall_seconds() const
Definition: utilities.h:86
int generate_unique_random_filename(char *result, unsigned n)
Definition: utilities.cc:53
int get_memory_usage_by_procfile(double *virtualMemGigaBytes, double *residentMemGigaBytes, double *virtualMemPeakGigaBytes)
Definition: utilities.cc:229
Definition of the main floating-point datatype used; the ergo_real type.
Time-measuring class.
Definition: utilities.h:80
void get_host_name(host_name_struct *result)
Definition: utilities.cc:78
Definition: utilities.h:77
void print(int area, const char *routine)
Definition: utilities.h:111
double startTimeCPU_usr
Definition: utilities.h:83
double get_elapsed_wall_seconds()
Definition: utilities.h:107
static double get_wall_seconds()
Definition: utilities.h:89
Definition: utilities.h:48
static void get_current_cpu_times(double &seconds_usr, double &seconds_sys)
Definition: utilities.h:96
void get_working_directory(working_directory_struct *result)
Definition: utilities.cc:88
void do_output(int logCategory, int logArea, const char *format,...)
Definition: output.cc:53
TimeMeter()
Definition: utilities.h:103
long int get_file_size(const char *fileName)
Definition: utilities.cc:67
double startTimeWall
Definition: utilities.h:84