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