Skip to content

mithrandi/eliottree

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

eliottree

build coverage

Render Eliot logs as an ASCII tree.

This output:

$ eliot-tree eliot.log
f3a32bb3-ea6b-457c-aa99-08a3d0491ab4
+-- app:soap:client:request@1/started
    |-- dump: /home/user/dump_files/20150303/1425356936.28_Client_req.xml
    |-- soapAction: a_soap_action
    |-- timestamp: 2015-03-03 06:28:56.278875
    `-- uri: http://example.org/soap
    +-- app:soap:client:success@2,1/started
        `-- timestamp: 2015-03-03 06:28:57.516579
        +-- app:soap:client:success@2,2/succeeded
            |-- dump: /home/user/dump_files/20150303/1425356937.52_Client_res.xml
            `-- timestamp: 2015-03-03 06:28:57.517077
    +-- app:soap:client:request@3/succeeded
        |-- status: 200
        `-- timestamp: 2015-03-03 06:28:57.517161

89a56df5-d808-4a7c-8526-e603aae2e2f2
+-- app:soap:service:request@1/started
    |-- dump: /home/user/dump_files/20150303/1425357068.03_Service_req.xml
    |-- soapAction: method
    |-- timestamp: 2015-03-03 06:31:08.032091
    `-- uri: /endpoints/soap/method
    +-- app:soap:service:success@2,1/started
        `-- timestamp: 2015-03-03 06:31:11.512330
        +-- app:soap:service:success@2,2/succeeded
            |-- dump: /home/user/dump_files/20150303/1425357071.51_Service_res.xml
            `-- timestamp: 2015-03-03 06:31:11.513453
    +-- app:soap:service:request@3/succeeded
        |-- status: 200
        `-- timestamp: 2015-03-03 06:31:11.513992

was generated from:

{"dump": "/home/user/dump_files/20150303/1425356936.28_Client_req.xml", "timestamp": 1425356936.278875, "uri": "http://example.org/soap", "action_status": "started", "task_uuid": "f3a32bb3-ea6b-457c-aa99-08a3d0491ab4", "action_type": "app:soap:client:request", "soapAction": "a_soap_action", "task_level": [1]}
{"timestamp": 1425356937.516579, "task_uuid": "f3a32bb3-ea6b-457c-aa99-08a3d0491ab4", "action_type": "app:soap:client:success", "action_status": "started", "task_level": [2, 1]}
{"task_uuid": "f3a32bb3-ea6b-457c-aa99-08a3d0491ab4", "action_type": "app:soap:client:success", "dump": "/home/user/dump_files/20150303/1425356937.52_Client_res.xml", "timestamp": 1425356937.517077, "action_status": "succeeded", "task_level": [2, 2]}
{"status": 200, "task_uuid": "f3a32bb3-ea6b-457c-aa99-08a3d0491ab4", "task_level": [3], "action_type": "app:soap:client:request", "timestamp": 1425356937.517161, "action_status": "succeeded"}
{"dump": "/home/user/dump_files/20150303/1425357068.03_Service_req.xml", "timestamp": 1425357068.032091, "uri": "/endpoints/soap/method", "action_status": "started", "task_uuid": "89a56df5-d808-4a7c-8526-e603aae2e2f2", "action_type": "app:soap:service:request", "soapAction": "method", "task_level": [1]}
{"timestamp": 1425357071.51233, "task_uuid": "89a56df5-d808-4a7c-8526-e603aae2e2f2", "action_type": "app:soap:service:success", "action_status": "started", "task_level": [2, 1]}
{"task_uuid": "89a56df5-d808-4a7c-8526-e603aae2e2f2", "action_type": "app:soap:service:success", "dump": "/home/user/dump_files/20150303/1425357071.51_Service_res.xml", "timestamp": 1425357071.513453, "action_status": "succeeded", "task_level": [2, 2]}
{"status": 200, "task_uuid": "89a56df5-d808-4a7c-8526-e603aae2e2f2", "task_level": [3], "action_type": "app:soap:service:request", "timestamp": 1425357071.513992, "action_status": "succeeded"}

Usage

usage: eliot-tree [-h] [-u UUID] [-i KEY] [--raw] [-l LENGTH] [--select QUERY]
                  [FILE [FILE ...]]

Display an Eliot log as a tree of tasks.

positional arguments:
  FILE                  Files to process

optional arguments:
  -h, --help            show this help message and exit
  -u UUID, --task-uuid UUID
                        Select a specific task by UUID
  -i KEY, --ignore-task-key KEY
                        Ignore a task key, use multiple times to ignore
                        multiple keys. Defaults to ignoring most Eliot
                        standard keys.
  --raw                 Do not format some task values (such as timestamps) as
                        human-readable
  -l LENGTH, --field-limit LENGTH
                        Limit the length of field values to LENGTH or a
                        newline, whichever comes first. Use a length of 0 to
                        output the complete value.
  --select QUERY        Select tasks to be displayed based on a jmespath
                        query, can be specified multiple times to mimic
                        logical AND. If any child task is selected the entire
                        top-level task is selected. See <http://jmespath.org/>

Contribute

See <https://github.com/jonathanj/eliottree> for details.

About

Render Eliot logs as an ASCII tree

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%