1
0
mirror of https://github.com/kellyjonbrazil/jc.git synced 2025-07-15 01:24:29 +02:00

add process conversions

This commit is contained in:
Kelly Brazil
2023-01-31 16:52:56 -08:00
parent d0b8a91f94
commit 00274c15df

View File

@ -1,6 +1,6 @@
"""jc - JSON Convert `zpool iostat` command output parser """jc - JSON Convert `zpool iostat` command output parser
<<Short zpool description and caveats>> Supports with or without the `-v` flag.
Usage (cli): Usage (cli):
@ -19,9 +19,18 @@ Schema:
[ [
{ {
"zpool": string, "pool": string,
"bar": boolean, "parent": string,
"baz": integer "cap_alloc": float,
"cap_alloc_unit": string,
"cap_free": float,
"cap_free_unit": string,
"ops_read": integer,
"ops_write": integer,
"bw_read": float,
"bw_read_unit": string,
"bw_write": float,
"bw_write_unit": string
} }
] ]
@ -64,6 +73,18 @@ def _process(proc_data: List[JSONDictType]) -> List[JSONDictType]:
List of Dictionaries. Structured to conform to the schema. List of Dictionaries. Structured to conform to the schema.
""" """
unit_values = {'cap_alloc', 'cap_free', 'bw_read', 'bw_write'}
int_list = {'ops_read', 'ops_write'}
for obj in proc_data:
for k, v in obj.copy().items():
if k in unit_values:
obj[k + '_unit'] = v[-1]
obj[k] = jc.utils.convert_to_float(v[:-1])
if k in int_list:
obj[k] = jc.utils.convert_to_int(v)
return proc_data return proc_data