This library instruments HTTP calls in a Tornado application and provides visualizations to find where your app is spending its time and identify opportunities for parallelism. It uses the Appstats module from the Google App Engine SDK.
Tornado Tracing is licensed under the Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0.html).
You will need:
- The latest version of Tornado. Tracing depends on features that were not present in the 1.0 release of tornado, so you must get the latest version from github directly.
- The Google App Engine SDK
- A memcached server and the python memcache client library
In most cases, you can simply use/subclass
tornado_tracing.recording instead of the
corresponding Tornado classes. These classes do nothing special unless
--enable_appstats flag is passed.
At startup, you must call
tornado_tracing.config.setup_memcache() to tell
the system where your memcache server is running. You can also use
tornado_tracing.config.set_options() to set certain other options,
KEY_PREFIX if multiple applications are sharing a memcache server
and you want to keep the data separate.
tornado_tracing.config.get_urlspec() to your
list of handlers. This is where the trace output will be visible.
Note that the UI does not have to be served from the same process where
the data is generated, as long as they're all using the same memcache.