Thread Profiler

Mentor: Juraj Kubelka
Second mentor: Alexandre Bergel
Level: Intermediate
Submitted proposal to Melange: Milton Mamani
Invited students: Milton Mamani
Students interested: Milton Mamani(very), Hamza Nouri(very), Mariano Sanchez, Sebastian Tleye


Any operating system comes with a tool to monitor the CPU consumption of the running application (e.g., Activity Monitor on mac, .... in windows). These tool give for each process the amount of CPU and memory it consumes. Unfortunately, Smalltalk does not have such a tool. Pharo and VisualWorks offers the process browser, which is a rather primitive. No indication about the resource consumption is given. A first prototype has been proposed (Loom http://objectprofile.com/#/pages/products/loom/overview.html), however it currently works on VisualWorks and offers a rather sluggish user interface.

This project is about offering a reliable tool to monitor the resource consumption of the running threads. Our tool will be made portable and will run on Pharo and VisualWorks.
The tool will offer nice visual chart to monitor the consumption, as most OS process monitors do.

Technical Details

The program will present:

  • A window with a table of thread's information
  • A visual time line that represents the tread evolution
  • Several Buttons to handle the threads

Benefits to the Student

The student will (i) get a better understanding of the executing enviroment of Pharo and VisualWorks (ii) make a contribution that will be use by several users (iii) practice in building GUI applications/frameworks, improve Smalltalk programming skills.

Benefits to the Community

The Smalltalk community would use the new browser like a tool in order to review and handle the consumption of the processes in a visual way. We expect Thread Profiler to help improve Pharo and VisualWorks applications.

Updated: 15.4.2013