Eliot 0.7: Logging for complex and distributed systems

Itamar Turner-Trauring itamar at clusterhq.com
Tue Apr 28 22:56:01 CEST 2015


Imagine you have a client that sends a request to a server and gets back a
500 error. What caused it? If you're using Eliot you can trace the logs
across processes:

$ cat server.log client.log | python eliottree.py
e076ca50-9abc-44b2-95d8-85cf6956bc33
    +-- main at 1/started
        |-- process: client
        `-- timestamp: 2015-04-28 16:50:00.379033
    +-- eliot:remote_task at 2,2,1/started
        |-- process: server
        `-- timestamp: 2015-04-28 16:50:00.389533
        +-- http_request at 2,1/started
            |-- process: client
            |-- timestamp: 2015-04-28 16:50:00.379096
            |-- x: 8
            `-- y: 0
        +-- divide at 2,2,2,1/started
            |-- process: server
            |-- timestamp: 2015-04-28 16:50:00.389674
            |-- x: 8
            `-- y: 0
            +-- divide at 2,2,2,2/failed
                |-- exception: exceptions.ZeroDivisionError
                |-- process: server
                |-- reason: integer division or modulo by zero
                `-- timestamp: 2015-04-28 16:50:00.389724
            +-- eliot:remote_task at 2,2,3/failed
                |-- exception: exceptions.ZeroDivisionError
                |-- process: server
                |-- reason: integer division or modulo by zero
                `-- timestamp: 2015-04-28 16:50:00.389750
        +-- http_request at 2,3/failed
            |-- exception: requests.exceptions.HTTPError
            |-- process: client
            |-- reason: 500 Server Error: INTERNAL SERVER ERROR
            `-- timestamp: 2015-04-28 16:50:00.396112
    +-- main at 3/failed
        |-- exception: requests.exceptions.HTTPError
        |-- process: client
        |-- reason: 500 Server Error: INTERNAL SERVER ERROR
        `-- timestamp: 2015-04-28 16:50:00.396181

Intrigued? Learn more at https://eliot.readthedocs.org.

eliottree.py is an add-on utility for formatting Eliot logs, and can be
found at https://github.com/jonathanj/eliottree


More information about the Python-announce-list mailing list