1
0
mirror of https://github.com/kellyjonbrazil/jc.git synced 2025-06-17 00:07:37 +02:00
Files
jc/docs/parsers/proc.md
2022-09-06 11:46:35 -07:00

2.8 KiB

Home

jc.parsers.proc

jc - JSON Convert Proc file output parser

This parser automatically identifies the Proc file and calls the corresponding parser to peform the parsing. The specific parsers can also be called directly, if desired and have a naming convention of proc-<name> (cli) or proc_<name> (module).

Usage (cli):

$ cat /proc/meminfo | jc --proc

or

$ cat /proc/meminfo | jc --proc-memifno

Usage (module):

import jc
result = jc.parse('proc', proc_file)

Schema:

See the specific Proc parser for the schema:

$ jc --help --proc-<name>

For example:

$ jc --help --proc-meminfo

Specific Proc file parser names can be found with jc -hh or jc -a.

Schemas can also be found online at:

https://kellyjonbrazil.github.io/jc/docs/parsers/proc_<name>

For example:

https://kellyjonbrazil.github.io/jc/docs/parsers/proc_meminfo

Examples:

$ cat /proc/modules | jc --proc -p
[
  {
    "module": "binfmt_misc",
    "size": 24576,
    "used": 1,
    "used_by": [],
    "status": "Live",
    "location": "0xffffffffc0ab4000"
  },
  {
    "module": "vsock_loopback",
    "size": 16384,
    "used": 0,
    "used_by": [],
    "status": "Live",
    "location": "0xffffffffc0a14000"
  },
  {
    "module": "vmw_vsock_virtio_transport_common",
    "size": 36864,
    "used": 1,
    "used_by": [
      "vsock_loopback"
    ],
    "status": "Live",
    "location": "0xffffffffc0a03000"
  },
  ...
]

$ proc_modules | jc --proc_modules -p -r
[
  {
    "module": "binfmt_misc",
    "size": "24576",
    "used": "1",
    "used_by": [],
    "status": "Live",
    "location": "0xffffffffc0ab4000"
  },
  {
    "module": "vsock_loopback",
    "size": "16384",
    "used": "0",
    "used_by": [],
    "status": "Live",
    "location": "0xffffffffc0a14000"
  },
  {
    "module": "vmw_vsock_virtio_transport_common",
    "size": "36864",
    "used": "1",
    "used_by": [
      "vsock_loopback"
    ],
    "status": "Live",
    "location": "0xffffffffc0a03000"
  },
  ...
]

parse

def parse(data: str, raw: bool = False, quiet: bool = False) -> List[Dict]

Main text parsing function

Parameters:

data:        (string)  text data to parse
raw:         (boolean) unprocessed output if True
quiet:       (boolean) suppress warning messages if True

Returns:

List of Dictionaries. Raw or processed structured data.

Parser Information

Compatibility: linux

Version 1.0 by Kelly Brazil (kellyjonbrazil@gmail.com)