|
Lines 658-664
static void _record_profile(struct jobacctinfo *jobacct)
Link Here
|
| 658 |
acct_gather_profile_dataset_t dataset[] = { |
658 |
acct_gather_profile_dataset_t dataset[] = { |
| 659 |
{ "CPUFrequency", PROFILE_FIELD_UINT64 }, |
659 |
{ "CPUFrequency", PROFILE_FIELD_UINT64 }, |
| 660 |
{ "CPUTime", PROFILE_FIELD_DOUBLE }, |
660 |
{ "CPUTime", PROFILE_FIELD_UINT64 }, |
| 661 |
{ "CPUUtilization", PROFILE_FIELD_DOUBLE }, |
661 |
{ "CPUUtilization", PROFILE_FIELD_DOUBLE }, |
| 662 |
{ "RSS", PROFILE_FIELD_UINT64 }, |
662 |
{ "RSS", PROFILE_FIELD_UINT64 }, |
| 663 |
{ "VMSize", PROFILE_FIELD_UINT64 }, |
663 |
{ "VMSize", PROFILE_FIELD_UINT64 }, |
|
Lines 703-721
static void _record_profile(struct jobacctinfo *jobacct)
Link Here
|
| 703 |
/* delta from last snapshot */ |
703 |
/* delta from last snapshot */ |
| 704 |
if (!jobacct->last_time) { |
704 |
if (!jobacct->last_time) { |
| 705 |
data[FIELD_CPUTIME].d = 0.0; |
705 |
data[FIELD_CPUTIME].u64 = 0; |
| 706 |
data[FIELD_CPUUTIL].d = 0.0; |
706 |
data[FIELD_CPUUTIL].d = 0.0; |
| 707 |
data[FIELD_READ].d = 0.0; |
707 |
data[FIELD_READ].d = 0.0; |
| 708 |
data[FIELD_WRITE].d = 0.0; |
708 |
data[FIELD_WRITE].d = 0.0; |
| 709 |
} else { |
709 |
} else { |
| 710 |
data[FIELD_CPUTIME].d = |
710 |
data[FIELD_CPUTIME].u64 = |
| 711 |
jobacct->tot_cpu - jobacct->last_total_cputime; |
711 |
jobacct->tot_cpu - jobacct->last_total_cputime; |
| 712 |
et = (jobacct->cur_time - jobacct->last_time); |
712 |
et = (jobacct->cur_time - jobacct->last_time); |
| 713 |
if (!et) |
713 |
if (!et) |
| 714 |
data[FIELD_CPUUTIL].d = 0.0; |
714 |
data[FIELD_CPUUTIL].d = 0.0; |
| 715 |
else |
715 |
else |
| 716 |
data[FIELD_CPUUTIL].d = |
716 |
data[FIELD_CPUUTIL].d = |
| 717 |
(100.0 * (double)data[FIELD_CPUTIME].d) / |
717 |
(100.0 * (double)data[FIELD_CPUTIME].u64) / |
| 718 |
((double) et); |
718 |
((double) et); |
| 719 |
data[FIELD_READ].d = jobacct->tot_disk_read - |
719 |
data[FIELD_READ].d = jobacct->tot_disk_read - |
|
Lines 838-845
extern void jag_common_poll_data(
Link Here
|
| 838 |
itr = list_iterator_create(task_list); |
838 |
itr = list_iterator_create(task_list); |
| 839 |
while ((jobacct = list_next(itr))) { |
839 |
while ((jobacct = list_next(itr))) { |
| 840 |
double cpu_calc; |
840 |
uint32_t cpu_calc; |
| 841 |
double last_total_cputime; |
841 |
uint32_t last_total_cputime; |
| 842 |
if (!(prec = list_find_first(prec_list, _find_prec, jobacct))) |
842 |
if (!(prec = list_find_first(prec_list, _find_prec, jobacct))) |
| 843 |
continue; |
843 |
continue; |
|
Lines 854-860
extern void jag_common_poll_data(
Link Here
|
| 854 |
last_total_cputime = jobacct->tot_cpu; |
854 |
last_total_cputime = jobacct->tot_cpu; |
| 855 |
cpu_calc = (double)(prec->ssec + prec->usec)/hertz; |
855 |
cpu_calc = (prec->ssec + prec->usec)/hertz; |
| 856 |
/* tally their usage */ |
856 |
/* tally their usage */ |
| 857 |
jobacct->max_rss = |
857 |
jobacct->max_rss = |
| 858 |
MAX(jobacct->max_rss, prec->rss); |
858 |
MAX(jobacct->max_rss, prec->rss); |
|
Lines 885-891
extern void jag_common_poll_data(
Link Here
|
| 885 |
jobacct->user_cpu_sec = prec->usec/hertz; |
885 |
jobacct->user_cpu_sec = prec->usec/hertz; |
| 886 |
jobacct->sys_cpu_sec = prec->ssec/hertz; |
886 |
jobacct->sys_cpu_sec = prec->ssec/hertz; |
| 887 |
debug2("%s: %d mem size %"PRIu64" %"PRIu64" " |
887 |
debug2("%s: %d mem size %"PRIu64" %"PRIu64" " |
| 888 |
"time %f(%u+%u)", __func__, |
888 |
"time %u(%u+%u)", __func__, |
| 889 |
jobacct->pid, jobacct->max_rss, |
889 |
jobacct->pid, jobacct->max_rss, |
| 890 |
jobacct->max_vsize, jobacct->tot_cpu, |
890 |
jobacct->max_vsize, jobacct->tot_cpu, |
| 891 |
jobacct->user_cpu_sec, |
891 |
jobacct->user_cpu_sec, |
|
Lines 900-906
extern void jag_common_poll_data(
Link Here
|
| 900 |
_update_weighted_freq(jobacct, sbuf); |
900 |
_update_weighted_freq(jobacct, sbuf); |
| 901 |
debug("%s: Task average frequency = %u " |
901 |
debug("%s: Task average frequency = %u " |
| 902 |
"pid %d mem size %"PRIu64" %"PRIu64" " |
902 |
"pid %d mem size %"PRIu64" %"PRIu64" " |
| 903 |
"time %f(%u+%u)", __func__, |
903 |
"time %u(%u+%u)", __func__, |
| 904 |
jobacct->act_cpufreq, |
904 |
jobacct->act_cpufreq, |
| 905 |
jobacct->pid, jobacct->max_rss, |
905 |
jobacct->pid, jobacct->max_rss, |
| 906 |
jobacct->max_vsize, jobacct->tot_cpu, |
906 |
jobacct->max_vsize, jobacct->tot_cpu, |