Using model2mapΒΆ

You’ve got your json event log which looks something like:

{"action": "attached", "deferred": 25657144, "errback": null, "callback": "__main__.simpleCallback"}
{"action": "attached", "deferred": 25656712, "errback": null, "callback": "__main__.finished"}
{"action": "executed", "deferred": 25656712, "time": 1.001, "callback?": true, "callback": "__main__.simpleCallback"}

This could be helpful, but does not allow you to look at everything as a whole. model2map is a tool which builds a SquareMap from the deferred’s callback chain and visualizes its execution.

Pipe the file to model2map cat mon.out | monitor2map. Something like this appears:

_images/firstview.jpg

This is the root element. It is just a container for all the tracked objects. You can tell model2map to read the first line from the file from the Debug menu->Next line or CTRL+N.

_images/secondview.png

Do this several times till you get something like:

_images/thirdview.png

This is the deferred with everything in example.py added to it (including the deferred that was chained, embedded with its callbacks drawned on a deeper depth). After this the deferred is fired and execution begins:

_images/forthview.png

The tile in red is the callback currently executing. When execution finishes the “cursor” will stay at the last executed callback.

Note

For now this rule also applies to chained deferreds too.

Project Versions

Previous topic

Introduction

This Page