diff --git a/NEWS b/NEWS index 604fb2ca34cb0406b0dcce094551b48489bf8544..9fe94eb826d23fc1a7997a2a2c334d4cb728de1a 100644 --- a/NEWS +++ b/NEWS @@ -8,6 +8,9 @@ documents those changes that are of interest to users and admins. terminating task's PID is available in task->pid. -- Move select/cray to select/alps +* Changes in Slurm 2.6.1 +======================== + * Changes in Slurm 2.6.0 ======================== -- Fix it so bluegene and serial systems don't get warnings over new NODEDATA @@ -23,6 +26,8 @@ documents those changes that are of interest to users and admins. -- Accounting - fix issue where PrivateData=jobs or users could potentially show information to users that had no associations on the system. -- Make PrivateData in slurmdbd.conf case insensitive. + -- sacct/sstat - Add format option ConsumedEnergyRaw to print full energy + values. * Changes in Slurm 2.6.0rc2 =========================== diff --git a/doc/html/man_index.shtml b/doc/html/man_index.shtml index 87e7070b8dd0b813a80fa2e7e7b59ee6ca259796..5ff36eb5f3239bb8377eafdc34006bebeeeeedbf 100644 --- a/doc/html/man_index.shtml +++ b/doc/html/man_index.shtml @@ -30,6 +30,7 @@ Documentation for other versions of Slurm is distributed with the code</b></p> <tr><td><a href="acct_gather.conf.html">acct_gather.conf</a></td><td>Slurm configuration file for the acct_gather plugins</td></tr> <tr><td><a href="bluegene.conf.html">bluegene.conf</a></td><td>Slurm configuration file for BlueGene systems</td></tr> <tr><td><a href="cgroup.conf.html">cgroup.conf</a></td><td>Slurm configuration file for the cgroup support</td></tr> +<tr><td><a href="ext_sensors.conf.html">ext_sensors.conf</a></td><td>Slurm configuration file for the external sensor support</td></tr> <tr><td><a href="gres.conf.html">gres.conf</a></td><td>Slurm configuration file for generic resource management.</td></tr> <tr><td><a href="slurm.conf.html">slurm.conf</a></td><td>Slurm configuration file</td></tr> <tr><td><a href="slurmdbd.conf.html">slurmdbd.conf</a></td><td>Slurm Database Daemon (SlurmDBD) configuration file</td></tr> @@ -43,6 +44,6 @@ Documentation for other versions of Slurm is distributed with the code</b></p> </table> -<p style="text-align:center;">Last modified 3 May 2013</p> +<p style="text-align:center;">Last modified 10 July 2013</p> <!--#include virtual="footer.txt"--> diff --git a/src/common/slurm_jobacct_gather.c b/src/common/slurm_jobacct_gather.c index 0a5ca6bce652429f708d75286fc35b5dacb527f2..f5ff68fdf3739547ef6907aa6b40329882887bea 100644 --- a/src/common/slurm_jobacct_gather.c +++ b/src/common/slurm_jobacct_gather.c @@ -1162,9 +1162,10 @@ extern void jobacctinfo_2_stats(slurmdb_stats_t *stats, jobacctinfo_t *jobacct) stats->cpu_ave = (double)jobacct->tot_cpu; stats->act_cpufreq = (double)jobacct->act_cpufreq; if (jobacct->energy.consumed_energy == NO_VAL) - stats->consumed_energy = NO_VAL; + stats->consumed_energy = (double)NO_VAL; else - stats->consumed_energy = (double)jobacct->energy.consumed_energy; + stats->consumed_energy = + (double)jobacct->energy.consumed_energy; stats->disk_read_max = jobacct->max_disk_read; stats->disk_read_max_nodeid = jobacct->max_disk_read_id.nodeid; stats->disk_read_max_taskid = jobacct->max_disk_read_id.taskid; diff --git a/src/sacct/options.c b/src/sacct/options.c index ff5d34914eeea50c8c38b7a66f8e22fa85d6c0e1..3af44fdb7d8120690aa4d24a3765f6f447f1d077 100644 --- a/src/sacct/options.c +++ b/src/sacct/options.c @@ -71,7 +71,7 @@ void _help_fields_msg(void) printf(" "); else if (i) printf("\n"); - printf("%-13s", fields[i].name); + printf("%-17s", fields[i].name); } printf("\n"); return; @@ -451,8 +451,8 @@ sacct [<OPTION>] \n\ mincputask,avecpu,ntasks,alloccpus,elapsed, \n\ state,exitcode,avecpufreq,consumedenergy, \n\ maxdiskread,maxdiskreadnode,maxdiskreadtask, \n\ - avediskread, maxdiskwrite,maxdiskwritenode, \n\ - maxdiskwritetask, avediskread' \n\ + avediskread,maxdiskwrite,maxdiskwritenode, \n\ + maxdiskwritetask,avediskread' \n\ -L, --allclusters: \n\ Display jobs ran on all clusters. By default, only jobs \n\ ran on the cluster from where sacct is called are \n\ @@ -619,7 +619,6 @@ void parse_command_line(int argc, char **argv) {"gid", required_argument, 0, 'g'}, {"group", required_argument, 0, 'g'}, {"help", no_argument, 0, 'h'}, - {"helpformat", no_argument, 0, 'e'}, {"name", required_argument, 0, OPT_LONG_NAME}, {"nnodes", required_argument, 0, 'i'}, {"ncpus", required_argument, 0, 'I'}, diff --git a/src/sacct/print.c b/src/sacct/print.c index ed2caa058c78529d6bd108417dfd35f2bb7703e0..f700d5c9ff31399c64670a382cc1b9003f4dbee6 100644 --- a/src/sacct/print.c +++ b/src/sacct/print.c @@ -427,6 +427,23 @@ void print_fields(type_t type, void *object) outbuf, (curr_inx == field_count)); break; + case PRINT_CONSUMED_ENERGY_RAW: + switch (type) { + case JOB: + if (!job->track_steps) + tmp_dub = step->stats.consumed_energy; + break; + case JOBSTEP: + tmp_dub = step->stats.consumed_energy; + break; + default: + break; + } + + field->print_routine(field, + tmp_dub, + (curr_inx == field_count)); + break; case PRINT_CPU_TIME: switch(type) { case JOB: diff --git a/src/sacct/sacct.c b/src/sacct/sacct.c index 2f79802e090bf6cd0a10a766d5d6903dbca15a2c..bd935826d2224ff47ea83267094a8ebaca59cb38 100644 --- a/src/sacct/sacct.c +++ b/src/sacct/sacct.c @@ -58,6 +58,8 @@ print_field_t fields[] = { {10, "Cluster", print_fields_str, PRINT_CLUSTER}, {14, "Comment", print_fields_str, PRINT_COMMENT}, {14, "ConsumedEnergy", print_fields_str, PRINT_CONSUMED_ENERGY}, + {17, "ConsumedEnergyRaw", print_fields_double, + PRINT_CONSUMED_ENERGY_RAW}, {10, "CPUTime", print_fields_time_from_secs, PRINT_CPU_TIME}, {10, "CPUTimeRAW", print_fields_uint64, PRINT_CPU_TIME_RAW}, {15, "DerivedExitCode", print_fields_str, PRINT_DERIVED_EC}, diff --git a/src/sacct/sacct.h b/src/sacct/sacct.h index 4ae1bc6b2e04735e95b26ffda4b8b6ffe8af2921..aefcae3c2775d1839f6ac6cfd38df69783a64f21 100644 --- a/src/sacct/sacct.h +++ b/src/sacct/sacct.h @@ -106,6 +106,7 @@ typedef enum { PRINT_CLUSTER, PRINT_COMMENT, PRINT_CONSUMED_ENERGY, + PRINT_CONSUMED_ENERGY_RAW, PRINT_CPU_TIME, PRINT_CPU_TIME_RAW, PRINT_DERIVED_EC, diff --git a/src/sstat/options.c b/src/sstat/options.c index 86dc2b70dbadaec4eaeb3698efa5e5ffa97824ef..d639d466feaa49e2afb7ca8fe14d3c11d36a6526 100644 --- a/src/sstat/options.c +++ b/src/sstat/options.c @@ -54,10 +54,10 @@ void _help_fields_msg(void) for (i = 0; fields[i].name; i++) { if (i & 3) - printf(" "); + printf(" "); else if (i) printf("\n"); - printf("%-13s", fields[i].name); + printf("%-17s", fields[i].name); } printf("\n"); return; diff --git a/src/sstat/print.c b/src/sstat/print.c index 439b45b1abbc37c2ad9c02ed9ff7d80a262ca458..21defe08887ca6f9683c1b7b84954a858939e56e 100644 --- a/src/sstat/print.c +++ b/src/sstat/print.c @@ -136,6 +136,11 @@ void print_fields(slurmdb_step_rec_t *step) outbuf, (curr_inx == field_count)); break; + case PRINT_CONSUMED_ENERGY_RAW: + field->print_routine(field, + step->stats.consumed_energy, + (curr_inx == field_count)); + break; case PRINT_AVEDISKREAD: _print_small_double(outbuf, sizeof(outbuf), step->stats.disk_read_ave, diff --git a/src/sstat/sstat.c b/src/sstat/sstat.c index c4a4203bc1545f8570337c7c6723e71566ba2fc1..e2b073ee97600409d1bfbfcf2a1f992d16984821 100644 --- a/src/sstat/sstat.c +++ b/src/sstat/sstat.c @@ -60,6 +60,8 @@ print_field_t fields[] = { {10, "AveRSS", print_fields_str, PRINT_AVERSS}, {10, "AveVMSize", print_fields_str, PRINT_AVEVSIZE}, {14, "ConsumedEnergy", print_fields_str, PRINT_CONSUMED_ENERGY}, + {17, "ConsumedEnergyRaw", print_fields_double, + PRINT_CONSUMED_ENERGY_RAW}, {-12, "JobID", print_fields_str, PRINT_JOBID}, {12, "MaxDiskRead", print_fields_str, PRINT_MAXDISKREAD}, {15, "MaxDiskReadNode", print_fields_str, PRINT_MAXDISKREADNODE}, diff --git a/src/sstat/sstat.h b/src/sstat/sstat.h index 6375660497d3e549d434bdfa81629dc86def5c1e..335e05645f2a3819163881250d05886d5894ae5f 100644 --- a/src/sstat/sstat.h +++ b/src/sstat/sstat.h @@ -89,6 +89,7 @@ typedef enum { PRINT_AVERSS, PRINT_AVEVSIZE, PRINT_CONSUMED_ENERGY, + PRINT_CONSUMED_ENERGY_RAW, PRINT_JOBID, PRINT_MAXDISKREAD, PRINT_MAXDISKREADNODE,