28 #ifndef UTILITIES_HEADER 29 #define UTILITIES_HEADER 34 #include <sys/resource.h> 37 #define MAX_HOST_NAME_LEN 100 44 #define MAX_WORKING_DIRECTORY_LEN 800 58 double* residentMemGigaBytes,
59 double* virtualMemPeakGigaBytes);
82 if(gettimeofday(&tv, NULL) != 0)
83 throw std::runtime_error(
"Error in get_wall_seconds(), in gettimeofday().");
84 double seconds = tv.tv_sec + (double)tv.tv_usec / 1000000;
89 if(getrusage (RUSAGE_SELF, &usage) != 0)
90 throw std::runtime_error(
"Error in get_current_cpu_times(), in getrusage().");
91 seconds_usr = usage.ru_utime.tv_sec + (double)usage.ru_utime.tv_usec / 1000000;
92 seconds_sys = usage.ru_stime.tv_sec + (
double)usage.ru_stime.tv_usec / 1000000;
98 void print(
int area,
const char *routine) {
101 double seconds_usr, seconds_sys;
106 routine, secondsTakenCPU_usr, secondsTakenCPU_sys, secondsTakenWall);
#define MAX_HOST_NAME_LEN
Definition: utilities.h:37
#define LOG_CAT_TIMINGS
Definition: output.h:43
#define MAX_WORKING_DIRECTORY_LEN
Definition: utilities.h:44
double startTimeCPU_sys
Definition: utilities.h:73
int get_memory_usage_by_ps(double *virtualMemoryGigaBytes, double *residentMemoryGigaBytes)
Definition: utilities.cc:127
Definition: utilities.h:46
int generate_unique_random_filename(char *result, unsigned n)
Definition: utilities.cc:50
int get_memory_usage_by_procfile(double *virtualMemGigaBytes, double *residentMemGigaBytes, double *virtualMemPeakGigaBytes)
Definition: utilities.cc:226
Time-measuring class.
Definition: utilities.h:71
void get_host_name(host_name_struct *result)
Definition: utilities.cc:75
Definition: utilities.h:68
void print(int area, const char *routine)
Definition: utilities.h:98
double startTimeCPU_usr
Definition: utilities.h:74
double get_start_time_wall_seconds() const
Definition: utilities.h:77
static double get_wall_seconds()
Definition: utilities.h:80
Definition: utilities.h:39
static void get_current_cpu_times(double &seconds_usr, double &seconds_sys)
Definition: utilities.h:87
void get_working_directory(working_directory_struct *result)
Definition: utilities.cc:85
void do_output(int logCategory, int logArea, const char *format,...)
Definition: output.cc:42
TimeMeter()
Definition: utilities.h:94
long int get_file_size(const char *fileName)
Definition: utilities.cc:64
double startTimeWall
Definition: utilities.h:75