Commit Graph

35 Commits

Author SHA1 Message Date
bin liu 25a1340123 blkio: add discard field to IoService
Some system has the `Discard` field in io service data, current the
library can't handle it correctly.

With this commit the blkio can get metrics whether it has the discard field.

Fixes: #109

Signed-off-by: bin liu <liubin0329@gmail.com>
2023-02-02 22:38:46 +08:00
bin liu d387c6edc7 error: introduce thiserror to add path to error message
For some cgroup file operations, when failed, add the path
and the value (for write operation) to the error message.

Fixes: #93

Signed-off-by: bin liu <liubin0329@gmail.com>
2022-11-18 17:46:02 +08:00
Tim Zhang ed49cf77e2 blkio: Add support for customized-attributes
Customized attributes are useful for customized kernels

Signed-off-by: Tim Zhang <tim@hyper.sh>
2022-09-23 17:43:17 +08:00
Felix Obenhuber 09499e7614 Add Serialize/Deserialize to resource and stat types
Add feature "serde" that derives all resource and statistics types from
Serialize and Deserialize. The feature is turned off by default.

Fixes #54
Fixes #55
Fixes #56

Signed-off-by: Felix Obenhuber <felix@obenhuber.de>
2021-08-03 09:55:10 +02:00
Tim Zhang 9ec1010a15 Fix clippy warnings
Fix clippy warnings.

Signed-off-by: Tim Zhang <tim@hyper.sh>
2021-03-03 13:44:29 +08:00
LiYa'nan 033fa4b857 optimize and refactor: read_to_string and read_i[u]64_from
There's so many Duplicated read_string_from method in different
subsystem's implementation, so as read_u64_from/read_i64_from methods.
(1) Move the read_string_from method into `lib.rs`,
called by each subsystem implementation as needed.
(2) Refactor read_u[i]64_from method with the help Rust Generic f
unction `read_from` and wrapped by read_u64_from or read_i64_from.

fix: #20

Signed-off-by: LiYa'nan <oliverliyn@gmail.com>
2020-12-24 09:25:00 +08:00
Tim Zhang 1f188be405 Detect subsystems and get root from /proc/self/mountinfo
Delete check_support and stop detecting subsystems by finding in the
root folders because the detecting method is not accurate.

Signed-off-by: Tim Zhang <tim@hyper.sh>
2020-12-17 17:56:46 +08:00
Tim Zhang 567cdb43b3 Use Option as resource fields, remove the update switch: update_values
Use idiomatic Option::None to represent optional fields.
This enables updates where not all fields need to be specified.

Signed-off-by: Tim Zhang <tim@hyper.sh>
2020-12-17 17:56:41 +08:00
bin liu 152af17f8f fix build warnings
And in Travis CI, treat warnings as error
to keep from merging codes with warning.

Fixes: #13

Signed-off-by: bin liu <bin@hyper.sh>
2020-09-23 16:19:51 +08:00
bin liu 250ada183a cargo fmt
Signed-off-by: bin liu <bin@hyper.sh>
2020-09-09 16:42:55 +08:00
bin liu ff6a0ea82a add SPDX-License-Identifier for modified files
Signed-off-by: bin liu <bin@hyper.sh>
2020-09-09 13:35:46 +08:00
bin liu bcbf438823 Merge remote-tracking branch 'upstream/master' 2020-09-09 13:27:12 +08:00
bin liu c3912223d0 use let Some() instead of is_some() to make codes clear
Signed-off-by: bin liu <bin@hyper.sh>
2020-09-09 13:26:18 +08:00
bin liu 86b245076c add SPDX-License-Identifier for all source
Add SPDX-License-Identifier for all existing codes.

Fixes: #2

Signed-off-by: bin liu <bin@hyper.sh>
2020-09-07 20:29:40 +08:00
bin liu cd2c748a74 add systemd controller; add more tests; update blkio stat for v2
Signed-off-by: bin liu <bin@hyper.sh>
2020-09-07 14:18:41 +08:00
bin liu 9fe6cb58e4 change *limit* in memory from u64 to i64
Signed-off-by: bin liu <bin@hyper.sh>
2020-08-27 23:06:44 +08:00
Levente Kurusa 01a3c22829 Transition to Rust 2018
Signed-off-by: Levente Kurusa <lkurusa@acm.org>
2018-12-23 16:31:05 +01:00
Levente Kurusa b4cc91f977 Builder pattern for control groups
Signed-off-by: Levente Kurusa <lkurusa@acm.org>
2018-10-30 21:47:18 +01:00
Levente Kurusa 90ab756be8 blkio: parse {read,write}_{bps,iops}_device
Signed-off-by: Levente Kurusa <lkurusa@acm.org>
2018-10-08 17:11:01 -04:00
Levente Kurusa e85754d943 blkio: parse sectors{,_recursive}
Signed-off-by: Levente Kurusa <lkurusa@acm.org>
2018-10-05 14:21:55 -04:00
Levente Kurusa c08e4d3e5d blkio: parse leaf_weight_device 2018-10-04 12:51:21 -04:00
Sam Wilson c63dad411b Hide most of the previously undocumented methods in a sealed trait 2018-10-12 09:49:52 +02:00
Sam Wilson 7826b798bd Implement ::std::error::Error 2018-10-12 09:49:52 +02:00
Hidehito Yabuuchi adc3323be4 Replace '/*' style comments with '//' style, which is recommended officially 2018-10-06 18:05:59 +02:00
Hidehito Yabuuchi ffd4cd70e2 Capitalize static values in tests 2018-10-06 18:05:59 +02:00
Hidehito Yabuuchi 2149e1c0c4 Run rustfmt 2018-10-06 18:05:59 +02:00
Hidehito Yabuuchi 5660656e3a Use self short-hand 2018-10-01 11:56:12 +02:00
Levente Kurusa af6ed48e39 blkio: use BlkIoData for weight_device, too
Signed-off-by: Levente Kurusa <lkurusa@acm.org>
2018-09-29 09:41:36 -04:00
Levente Kurusa 4b67af3eef blkio: rename BlkIoTime to BlkIoData
Signed-off-by: Levente Kurusa <lkurusa@acm.org>
2018-09-28 11:11:19 +01:00
Levente Kurusa afe1519ed2 blkio: parse time/time_recursive
Signed-off-by: Levente Kurusa <lkurusa@acm.org>
2018-09-27 10:19:19 +01:00
Levente Kurusa 07421b2aff blkio: parse a bunch of fields
Signed-off-by: Levente Kurusa <lkurusa@acm.org>
2018-09-16 14:43:09 +02:00
Levente Kurusa 0e350463a1 controllers: verify that resource application went ok or not
Signed-off-by: Levente Kurusa <lkurusa@acm.org>
2018-09-14 15:59:29 +02:00
Levente Kurusa c82a94b58e tree: add some simple error reporting
There's still plenty to wish for.

Signed-off-by: Levente Kurusa <lkurusa@acm.org>
2018-09-03 00:11:33 +02:00
Levente Kurusa caa9241285 More documentation!
Signed-off-by: Levente Kurusa <lkurusa@acm.org>
2018-08-29 18:39:57 +02:00
Levente Kurusa 9162c5a6ad Initial work
Signed-off-by: Levente Kurusa <lkurusa@acm.org>
2018-08-28 14:52:23 +02:00