make proc sampling at step only to avoid fork creation overhead
This commit is contained in:
+2
-13
@@ -263,8 +263,6 @@ int main(void)
|
|||||||
fprintf(csv, "timestamp,elapsed_s,load1,load5,load15,mem_total_kb,mem_available_kb,mem_used_kb,proc_count,thread_count_total,pid,cpu_pct,sys_cpu_pct,forks_per_sec,rss_kb,vsz_kb,stack_kb,heap_kb,proc_threads\n");
|
fprintf(csv, "timestamp,elapsed_s,load1,load5,load15,mem_total_kb,mem_available_kb,mem_used_kb,proc_count,thread_count_total,pid,cpu_pct,sys_cpu_pct,forks_per_sec,rss_kb,vsz_kb,stack_kb,heap_kb,proc_threads\n");
|
||||||
|
|
||||||
long count = 0;
|
long count = 0;
|
||||||
long prev_proc_count = 0;
|
|
||||||
long proc_accum = 0;
|
|
||||||
double start_uptime = read_uptime();
|
double start_uptime = read_uptime();
|
||||||
|
|
||||||
long prev_cpu_total = 0;
|
long prev_cpu_total = 0;
|
||||||
@@ -295,17 +293,8 @@ int main(void)
|
|||||||
|
|
||||||
count++;
|
count++;
|
||||||
|
|
||||||
long proc_count = count_processes();
|
if (count % proc_step == 0) {
|
||||||
if (prev_proc_count > 0) {
|
long proc_count = count_processes();
|
||||||
long delta = proc_count - prev_proc_count;
|
|
||||||
if (delta > 0) {
|
|
||||||
proc_accum += delta;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
prev_proc_count = proc_count;
|
|
||||||
|
|
||||||
if (proc_accum >= proc_step) {
|
|
||||||
proc_accum = 0;
|
|
||||||
|
|
||||||
double now_uptime = read_uptime();
|
double now_uptime = read_uptime();
|
||||||
double elapsed_s = now_uptime - start_uptime;
|
double elapsed_s = now_uptime - start_uptime;
|
||||||
|
|||||||
Reference in New Issue
Block a user