2021-09-22 14:38:13 -07:00
|
|
|
[Home](https://kellyjonbrazil.github.io/jc/)
|
|
|
|
|
|
|
|
# jc.parsers.vmstat_s
|
|
|
|
jc - JSON CLI output utility `vmstat` command output streaming parser
|
|
|
|
|
|
|
|
Options supported: `-a`, `-w`, `-d`, `-t`
|
|
|
|
|
|
|
|
Usage (cli):
|
|
|
|
|
|
|
|
$ vmstat | jc --vmstat-s
|
|
|
|
|
|
|
|
Usage (module):
|
|
|
|
|
|
|
|
import jc.parsers.vmstat_s
|
|
|
|
result = jc.parsers.vmstat_s.parse(vmstat_command_output.splitlines()) # result is an iterable object
|
|
|
|
for item in result:
|
|
|
|
# do something
|
|
|
|
|
|
|
|
Schema:
|
|
|
|
|
|
|
|
{
|
2021-09-22 14:43:26 -07:00
|
|
|
"runnable_procs": integer,
|
|
|
|
"uninterruptible_sleeping_procs": integer,
|
|
|
|
"virtual_mem_used": integer,
|
|
|
|
"free_mem": integer,
|
|
|
|
"buffer_mem": integer,
|
|
|
|
"cache_mem": integer,
|
|
|
|
"inactive_mem": integer,
|
|
|
|
"active_mem": integer,
|
|
|
|
"swap_in": integer,
|
|
|
|
"swap_out": integer,
|
|
|
|
"blocks_in": integer,
|
|
|
|
"blocks_out": integer,
|
|
|
|
"interrupts": integer,
|
|
|
|
"context_switches": integer,
|
|
|
|
"user_time": integer,
|
|
|
|
"system_time": integer,
|
|
|
|
"idle_time": integer,
|
|
|
|
"io_wait_time": integer,
|
|
|
|
"stolen_time": integer,
|
|
|
|
"disk": string,
|
|
|
|
"total_reads": integer,
|
|
|
|
"merged_reads": integer,
|
|
|
|
"sectors_read": integer,
|
|
|
|
"reading_ms": integer,
|
|
|
|
"total_writes": integer,
|
|
|
|
"merged_writes": integer,
|
|
|
|
"sectors_written": integer,
|
|
|
|
"writing_ms": integer,
|
|
|
|
"current_io": integer,
|
|
|
|
"io_seconds": integer,
|
|
|
|
"timestamp": string,
|
|
|
|
"timezone": string,
|
|
|
|
"epoch": integer, # naive timestamp if -t flag is used
|
|
|
|
"epoch_utc": integer # aware timestamp if -t flag is used and UTC TZ
|
2021-09-22 14:38:13 -07:00
|
|
|
"_meta": # This object only exists if using -q or quiet=True
|
|
|
|
{
|
|
|
|
"success": booean, # true if successfully parsed, false if error
|
|
|
|
"error": string, # exists if "success" is false
|
|
|
|
"line": string # exists if "success" is false
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
Examples:
|
|
|
|
|
|
|
|
$ vmstat | jc --vmstat-s
|
|
|
|
{"runnable_procs":2,"uninterruptible_sleeping_procs":0,"virtual_mem_used":0,"free_mem":2794468,"buffer_mem":2108,"cache_mem":741208,"inactive_mem":null,"active_mem":null,"swap_in":0,"swap_out":0,"blocks_in":1,"blocks_out":3,"interrupts":29,"context_switches":57,"user_time":0,"system_time":0,"idle_time":99,"io_wait_time":0,"stolen_time":0,"timestamp":null,"timezone":null}
|
|
|
|
...
|
|
|
|
|
|
|
|
$ vmstat | jc --vmstat-s -r
|
|
|
|
{"runnable_procs":"2","uninterruptible_sleeping_procs":"0","virtual_mem_used":"0","free_mem":"2794468","buffer_mem":"2108","cache_mem":"741208","inactive_mem":null,"active_mem":null,"swap_in":"0","swap_out":"0","blocks_in":"1","blocks_out":"3","interrupts":"29","context_switches":"57","user_time":"0","system_time":"0","idle_time":"99","io_wait_time":"0","stolen_time":"0","timestamp":null,"timezone":null}
|
|
|
|
...
|
|
|
|
|
|
|
|
|
|
|
|
## info
|
|
|
|
```python
|
|
|
|
info()
|
|
|
|
```
|
|
|
|
Provides parser metadata (version, author, etc.)
|
|
|
|
|
|
|
|
## parse
|
|
|
|
```python
|
2021-09-23 11:48:39 -07:00
|
|
|
parse(data, raw=False, quiet=False, ignore_exceptions=False)
|
2021-09-22 14:38:13 -07:00
|
|
|
```
|
|
|
|
|
|
|
|
Main text parsing generator function. Returns an iterator object.
|
|
|
|
|
|
|
|
Parameters:
|
|
|
|
|
2021-09-23 11:48:39 -07:00
|
|
|
data: (iterable) line-based text data to parse (e.g. sys.stdin or str.splitlines())
|
|
|
|
raw: (boolean) output preprocessed JSON if True
|
|
|
|
quiet: (boolean) suppress warning messages if True
|
|
|
|
ignore_exceptions: (boolean) ignore parsing exceptions if True
|
2021-09-22 14:38:13 -07:00
|
|
|
|
|
|
|
Yields:
|
|
|
|
|
|
|
|
Dictionary. Raw or processed structured data.
|
|
|
|
|
|
|
|
Returns:
|
|
|
|
|
|
|
|
Iterator object
|
|
|
|
|
|
|
|
## Parser Information
|
|
|
|
Compatibility: linux
|
|
|
|
|
|
|
|
Version 0.5 by Kelly Brazil (kellyjonbrazil@gmail.com)
|