Understanding how an application behaves at runtime requires adequate tools. However, MessageTally, the standard Smalltalk code profiler, is very limited in the kind of analyzis it can carry out. Spy (a profiler framework) is an attempt that has been made in the past, however Spy suffers from poor design, typically forcing profilers to contain a heavy dose of duplicate code.

In this project, we plan to produce Gadget, a portable, open and flexible profiling platform. Hapao [1], Kai [2] and Rizel [3] will be migrated from Spy to Gadget.

Gadget will not only provide features to measure code coverage, time consumption, snapshot comparison, but will provide tools to monitor memory consumption.

All these features will provide to Pharo developers the tools to create domain specific profilers and reuse the features of different implemented profilers in Gadget.