@@ -81,12 +81,12 @@ int get_usage(const pid_t pid, struct pstat* result){
8181}
8282
8383/*
84- * calculates the actual CPU usage(cur_usage - last_usage) in percent
85- * cur_usage, last_usage: both last measured get_usage() results
86- * ucpu_usage, scpu_usage: result parameters: user and sys cpu usage in %
84+ * calculates the elapsed CPU usage between 2 measuring points. in percent
8785*/
88- void calc_cpu_usage (const struct pstat * cur_usage , const struct pstat *
89- last_usage , double * ucpu_usage , double * scpu_usage ){
86+ void calc_cpu_usage_pct (const struct pstat * cur_usage ,
87+ const struct pstat * last_usage ,
88+ double * ucpu_usage , double * scpu_usage )
89+ {
9090 const long unsigned int total_time_diff = cur_usage -> cpu_total_time -
9191 last_usage -> cpu_total_time ;
9292
@@ -99,3 +99,18 @@ void calc_cpu_usage(const struct pstat* cur_usage, const struct pstat*
9999 (double ) total_time_diff );
100100}
101101
102+ /*
103+ * calculates the elapsed CPU usage between 2 measuring points in ticks
104+ */
105+ void calc_cpu_usage (const struct pstat * cur_usage ,
106+ const struct pstat * last_usage ,
107+ long unsigned int * ucpu_usage ,
108+ long unsigned int * scpu_usage )
109+ {
110+
111+ * ucpu_usage = (cur_usage -> utime_ticks + cur_usage -> cutime_ticks ) -
112+ (last_usage -> utime_ticks + last_usage -> cutime_ticks );
113+
114+ * scpu_usage = (cur_usage -> stime_ticks + cur_usage -> cstime_ticks ) -
115+ (last_usage -> stime_ticks + last_usage -> cstime_ticks );
116+ }
0 commit comments