HA_ATOMIC_STORE(&sched_activity[i].calls, 0);
HA_ATOMIC_STORE(&sched_activity[i].cpu_time, 0);
HA_ATOMIC_STORE(&sched_activity[i].lat_time, 0);
+ HA_ATOMIC_STORE(&sched_activity[i].lkw_time, 0);
HA_ATOMIC_STORE(&sched_activity[i].func, NULL);
HA_ATOMIC_STORE(&sched_activity[i].caller, NULL);
}
tmp_activity[i].calls += tmp_activity[j].calls;
tmp_activity[i].cpu_time += tmp_activity[j].cpu_time;
tmp_activity[i].lat_time += tmp_activity[j].lat_time;
+ tmp_activity[i].lkw_time += tmp_activity[j].lkw_time;
tmp_activity[j].calls = 0;
}
}
if (!ctx->linenum)
chunk_appendf(&trash, "Tasks activity over %.3f sec till %.3f sec ago:\n"
- " function calls cpu_tot cpu_avg lat_avg\n",
+ " function calls cpu_tot cpu_avg lkw_avg lat_avg\n",
(prof_task_start_ns ? (prof_task_stop_ns ? prof_task_stop_ns : now_ns) - prof_task_start_ns : 0) / 1000000000.0,
(prof_task_stop_ns ? now_ns - prof_task_stop_ns : 0) / 1000000000.0);
print_time_short(&trash, " ", tmp_activity[i].cpu_time, "");
print_time_short(&trash, " ", tmp_activity[i].cpu_time / tmp_activity[i].calls, "");
+ print_time_short(&trash, " ", tmp_activity[i].lkw_time / tmp_activity[i].calls, "");
print_time_short(&trash, " ", tmp_activity[i].lat_time / tmp_activity[i].calls, "");
if (caller && !ctx->aggr && caller->what <= WAKEUP_TYPE_APPCTX_WAKEUP)