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@1/started
 |-- process: client
 `-- timestamp: 2015-04-28 16:50:00.379033
 +-- eliot:remote_task@2,2,1/started
 |-- process: server
 `-- timestamp: 2015-04-28 16:50:00.389533
 +-- http_request@2,1/started
 |-- process: client
 |-- timestamp: 2015-04-28 16:50:00.379096
 |-- x: 8
 `-- y: 0
 +-- divide@2,2,2,1/started
 |-- process: server
 |-- timestamp: 2015-04-28 16:50:00.389674
 |-- x: 8
 `-- y: 0
 +-- divide@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@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@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@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 [1].

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

Links:
------
[1] https://eliot.readthedocs.org
[2] https://github.com/jonathanj/eliottree
_______________________________________________
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python

Reply via email to