Added
- Added
stats
attribute to bothpyslurm.Job
,pyslurm.Jobs
and
pyslurm.db.Jobs
- Added
pids
attribute topyslurm.Job
which contains Process-IDs of the Job
organized by node-name - Added
load_stats
method topyslurm.Job
andpyslurm.Jobs
classes.
Together with thestats
andpids
attributes mentioned above, it is now
possible to fetch live statistics (like sstat) - Switch to link with
libslurmfull.so
instead oflibslurm.so
This change really has no impact from a user perspective. Everything will
keep working the same, except that Slurms more internal library
libslurmfull.so
is linked with (which is located alongside the plugins
inside theslurm
directory, which itself is next tolibslurm.so
)
Why the change? Because it will likely make development easier. It allows
access to more functions that might be needed in some places, without
completely having to implement them on our own. Implementing the
live-statistics feature, so basicallysstat
, is for example not possible
withlibslurm.so
You can keep providing the directory wherelibslurm.so
resided as
$SLURM_LIB_DIR
to pyslurm, and it will automatically findlibslurmfull.so
from there. - Added
run_time_remaining
andelapsed_cpu_time
attributes topyslurm.JobStep
- Added
run_time_remaining
attribute topyslurm.Job
Fixed
- Fixed
total_cpu_time
,system_cpu_time
anduser_cpu_time
not getting
calculated correctly for Job statistics - Actually make sure that
avg_cpu_time
,min_cpu_time
,total_cpu_time
,
system_cpu_time
anduser_cpu_time
are integers, not float.
Changed
- Breaking: rename
cpu_time
toelapsed_cpu_time
inpyslurm.Job
and
pyslurm.Jobs
classes - Breaking: rename attribute
alloc_cpus
to justcpus
inpyslurm.JobStep
- Breaking: removed the following attributes from
pyslurm.db.Jobs
:
consumed_energy
disk_read
disk_write
page_faults
resident_memory
virtual_memory
elapsed_cpu_time
total_cpu_time
user_cpu_time
system_cpu_time
- The removed attributes above are now all available within the
stats
attribute, which is of typepyslurm.db.JobStatistics
- Renamed the original class of
pyslurm.db.JobStatistics
to
pyslurm.db.JobStepStatistics
.
All this class contains is really mostly applicable only to Steps, but
doesn't fully apply at the Job Level.
Therefore, the newpyslurm.db.JobStatistics
class only contains all
statistics that make sense at the Job-level. - return
1
as a value for thecpus
attribute inpyslurm.db.Job
when there
is no value set from Slurm's side.
Removed
- Removed
pyslurm.version()
function. Should use__version__
attribute directly. - Removed
--slurm-lib
and--slurm-inc
parameters tosetup.py
.
SLURM_LIB_DIR
andSLURM_INCLUDE_DIR
environment variables should be used instead.