Skip to content

Commit eaf8339

Browse files
committed
update CHANGELOG
1 parent 2916753 commit eaf8339

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed

CHANGELOG.md

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,67 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## Unreleased on the [23.11.x](https://github.com/PySlurm/pyslurm/tree/23.11.x) branch
99

10+
### Added
11+
1012
- New Classes to interact with Database Associations (WIP)
1113
- `pyslurm.db.Association`
1214
- `pyslurm.db.Associations`
1315
- New Classes to interact with Database QoS (WIP)
1416
- `pyslurm.db.QualityOfService`
1517
- `pyslurm.db.QualitiesOfService`
18+
- Added `stats` attribute to both `pyslurm.Job`, `pyslurm.Jobs` and
19+
`pyslurm.db.Jobs`
20+
- Added `pids` attribute to `pyslurm.Job` which contains Process-IDs of the Job
21+
organized by node-name
22+
- Added `load_stats` method to `pyslurm.Job` and `pyslurm.Jobs` classes.
23+
Together with the `stats` and `pids` attributes mentioned above, it is now
24+
possible to fetch live statistics (like sstat)
25+
- Switch to link with `libslurmfull.so` instead of `libslurm.so`<br>
26+
This change really has no impact from a user perspective. Everything will
27+
keep working the same, except that Slurms more internal library
28+
`libslurmfull.so` is linked with (which is located alongside the plugins
29+
inside the `slurm` directory, which itself is next to `libslurm.so`)<br>
30+
Why the change? Because it will likely make development easier. It allows
31+
access to more functions that might be needed in some places, without
32+
completely having to implement them on our own. Implementing the
33+
live-statistics feature, so basically `sstat`, is for example not possible
34+
with `libslurm.so` <br>
35+
You can keep providing the directory where `libslurm.so` resided as
36+
`$SLURM_LIB_DIR` to pyslurm, and it will automatically find `libslurmfull.so`
37+
from there.
38+
39+
### Fixed
40+
41+
- Fixed `total_cpu_time`, `system_cpu_time` and `user_cpu_time` not getting
42+
calculated correctly for Job statistics
43+
- Actually make sure that `avg_cpu_time`, `min_cpu_time`, `total_cpu_time`,
44+
`system_cpu_time` and `user_cpu_time` are integers, not float.
45+
46+
### Changed
47+
48+
- Breaking: rename `cpu_time` to `elapsed_cpu_time` in `pyslurm.Job` and
49+
`pyslurm.Jobs` classes
50+
- Breaking: removed the following attributes from `pyslurm.db.Jobs`:<br>
51+
* `consumed_energy`
52+
* `disk_read`
53+
* `disk_write`
54+
* `page_faults`
55+
* `resident_memory`
56+
* `virtual_memory`
57+
* `elapsed_cpu_time`
58+
* `total_cpu_time`
59+
* `user_cpu_time`
60+
* `system_cpu_time`
61+
- The removed attributes above are now all available within the `stats`
62+
attribute, which is of type `pyslurm.db.JobStatistics`
63+
- Renamed the original class of `pyslurm.db.JobStatistics` to
64+
`pyslurm.db.JobStepStatistics`.<br>
65+
All this class contains is really mostly applicable only to Steps, but
66+
doesn't fully apply at the Job Level.<br>
67+
Therefore, the new `pyslurm.db.JobStatistics` class only contains all
68+
statistics that make sense at the Job-level.
69+
- return `1` as a value for the `cpus` attribute in `pyslurm.db.Job` when there
70+
is no value set from Slurm's side.
1671

1772
## [23.11.0](https://github.com/PySlurm/pyslurm/releases/tag/v23.11.0) - 2024-01-27
1873

0 commit comments

Comments
 (0)