Appstats: RPC Instrumentation for Google App Engine

Have you ever wondered whether your Google App Engine application is making redundant calls to the datastore? Or whether your caching strategy is as effective as you hoped? Now you can instrument your application and immediately see the answers to such questions. (And if you never wondered, you can find out if you were right to be so sure... :-) You are hereby invited to try out appstats, a new library I've written for this purpose. Appstats is pure user-land Python code; it uses existing hooks into the RPC machinery. Its UI can show elaborate debugging information (request and response objects, and even detailed stack frames) when you see an RPC call you didn't expect.
--Guido van Rossum, Software Engineer at Google (

"I used to be blind, but now I can see :-)"
--An early user
  • 2nd Update: As of the 1.3.2 release Appstats is also available for Java.
    appstats is now officially released as a component of Google App Engine, with the release of SDK 1.3.1 (2/10/10)

  • Documentation
  • Presentation from Palo Alto Meetup 10/5/09Powerpoint 2008PDF
  • Download:
  • Revision history (times US/Pacific):
    • 12/07/09  3:22 PM: fixed download link to actually point to the new zipfile
    • 12/07/09 11:53 PM: brand new version (uses protocol buffers instead of pickles)
    • 10/26/09 12:01 PM: fix crash when using taskqueue.add() --
    • 10/16/09 12:00 PM: moved "from appstats import recording" into webapp_add_wsgi_middleware()
    • 10/15/09 10:06 AM: add missing CSS files
    • 10/14/09 11:00 AM: original version