1
0
mirror of https://github.com/kellyjonbrazil/jc.git synced 2025-06-17 00:07:37 +02:00
Files
jc/docs/parsers/iostat_s.md

138 lines
3.8 KiB
Markdown
Raw Normal View History

2021-12-02 11:42:56 -08:00
[Home](https://kellyjonbrazil.github.io/jc/)
2022-01-25 17:07:47 -08:00
<a id="jc.parsers.iostat_s"></a>
# jc.parsers.iostat\_s
2021-12-02 11:42:56 -08:00
2022-03-04 13:27:39 -08:00
jc - JSON Convert `iostat` command output streaming parser
2021-12-02 11:42:56 -08:00
> This streaming parser outputs JSON Lines
Note: `iostat` version 11 and higher include a JSON output option
Usage (cli):
2022-01-25 18:03:34 -08:00
$ iostat | jc --iostat-s
2021-12-02 11:42:56 -08:00
Usage (module):
2022-01-25 18:03:34 -08:00
import jc
# result is an iterable object (generator)
result = jc.parse('iostat_s', iostat_command_output.splitlines())
for item in result:
# do something
2022-01-18 15:38:03 -08:00
2022-01-25 18:03:34 -08:00
or
2022-01-18 15:38:03 -08:00
2022-01-25 18:03:34 -08:00
import jc.parsers.iostat_s
# result is an iterable object (generator)
result = jc.parsers.iostat_s.parse(iostat_command_output.splitlines())
for item in result:
# do something
2021-12-02 11:42:56 -08:00
Schema:
2022-01-25 18:03:34 -08:00
{
"type": string,
"percent_user": float,
"percent_nice": float,
"percent_system": float,
"percent_iowait": float,
"percent_steal": float,
"percent_idle": float,
"device": string,
"tps": float,
"kb_read_s": float,
"mb_read_s": float,
"kb_wrtn_s": float,
"mb_wrtn_s": float,
"kb_read": integer,
"mb_read": integer,
"kb_wrtn": integer,
"mb_wrtn": integer,
'kb_dscd': integer,
'mb_dscd': integer,
"rrqm_s": float,
"wrqm_s": float,
"r_s": float,
"w_s": float,
"rmb_s": float,
"rkb_s": float,
"wmb_s": float,
"wkb_s": float,
"avgrq_sz": float,
"avgqu_sz": float,
"await": float,
"r_await": float,
"w_await": float,
"svctm": float,
"aqu_sz": float,
"rareq_sz": float,
"wareq_sz": float,
"d_s": float,
"dkb_s": float,
"dmb_s": float,
"drqm_s": float,
"percent_drqm": float,
"d_await": float,
"dareq_sz": float,
"f_s": float,
"f_await": float,
"kb_dscd_s": float,
"mb_dscd_s": float,
"percent_util": float,
"percent_rrqm": float,
"percent_wrqm": float,
2022-03-10 10:10:57 -08:00
# below object only exists if using -qq or ignore_exceptions=True
"_jc_meta": {
"success": boolean, # false if error parsing
"error": string, # exists if "success" is false
"line": string # exists if "success" is false
}
2022-01-25 18:03:34 -08:00
}
Examples:
$ iostat | jc --iostat-s
{"percent_user":0.14,"percent_nice":0.0,"percent_system":0.16,...}
{"device":"sda","tps":0.24,"kb_read_s":5.28,"kb_wrtn_s":1.1...}
...
$ iostat | jc --iostat-s -r
{"percent_user":"0.14","percent_nice":"0.00","percent_system":"0.16"...}
{"device":"sda","tps":"0.24","kb_read_s":"5.28","kb_wrtn_s":"1.10"...}
...
2022-01-25 17:07:47 -08:00
<a id="jc.parsers.iostat_s.parse"></a>
2022-03-05 12:15:14 -08:00
### parse
2022-01-25 17:07:47 -08:00
2021-12-02 11:42:56 -08:00
```python
2022-02-03 15:47:46 -08:00
@add_jc_meta
2022-01-25 17:07:47 -08:00
def parse(data, raw=False, quiet=False, ignore_exceptions=False)
2021-12-02 11:42:56 -08:00
```
Main text parsing generator function. Returns an iterator object.
2022-01-25 18:03:34 -08:00
Parameters:
2022-01-19 17:30:14 -08:00
2022-01-25 18:03:34 -08:00
data: (iterable) line-based text data to parse
(e.g. sys.stdin or str.splitlines())
2021-12-02 11:42:56 -08:00
2022-01-25 18:03:34 -08:00
raw: (boolean) unprocessed output if True
quiet: (boolean) suppress warning messages if True
2022-02-04 12:14:16 -08:00
ignore_exceptions: (boolean) ignore parsing exceptions if True
2021-12-02 11:42:56 -08:00
2022-01-25 18:03:34 -08:00
Yields:
2021-12-02 11:42:56 -08:00
2022-01-25 18:03:34 -08:00
Dictionary. Raw or processed structured data.
2021-12-02 11:42:56 -08:00
2022-01-25 18:03:34 -08:00
Returns:
2022-02-14 10:31:41 -08:00
Iterator object (generator)
2021-12-02 11:42:56 -08:00
2022-01-25 19:18:54 -08:00
### Parser Information
2021-12-02 11:42:56 -08:00
Compatibility: linux
2022-02-03 15:47:46 -08:00
Version 1.1 by Kelly Brazil (kellyjonbrazil@gmail.com)