When developing under Google App Engine, developers need to pay attention to how fast their code works, and also how much resources their code uses. The first parameter is vital for user-experience, the second – for the hosting expenses, as resources usage costs money.
It turns out that there are quite a few suitable profilers for Google App Engine. At least these are the ones I could find:
- Appstats – no doubt, the most advanced one, giving you information about the timing and costs of your RPC calls to the datastore, Memcache, etc.
Works for both Python, and Java. Included in the official SDK as of version 1.3.1.
- appengine-profiler – besides being an RPC profiler like Appstats, appengine-profiler gives you the option to profile the CPU usage of your code, thus you can easily identify hot-spots where your code wastes a lot of CPU resources and wall-clock time. You can define “tracepoints” which surround part of your code blocks, and you’ll easily know the resources usage of these blocks for each page load.
Works for Python.
- AppWrench – the Java profiler. I don’t code on Java, and I haven’t tested this profiler, but I’m including it here for all you Java gurus.
- appengine-profiler – Examples on what output you will actually see in your application logs.
- Easy Performance Profiling with Appstats.
- Profiling Google App Engine with Appstats.