Skip to content

Project architecture specificaiton

geniusA edited this page Apr 16, 2013 · 10 revisions

This page describes the specification of the structure of the project and the aerial view of the cooperation of it's parts emerging the cross-platform agile graphical profiler.

Structure

The application consists of 5 components:

  • process table
  • process controller
  • data miner
  • data processor
  • GUI

They are connected through strictly specified interfaces.

Functionality

Profiler component should provide debug info, placed in the executable, or loaded into the memory, of process under analysis.

All five are based on the host interface abstracting the OS services. The host interface mostly based on QT facilities.

Work scenario

After a run, the application periodically updates process running in a system, and send the updated snapshot to GUI, which displays it in a for of list, or tree. After a user choose a process, profiler asks OS to stop it, attach necessary tools and continue. After that, data miner collects all available profile information in a necessary period, and send it to data processor. The data processor, filters, sorts and combines data into a user-readable form, which is transferred to the GUI and displayed in a table and bars.