KRO final report. Google Summer of Code end.

David Moreno Montero david at monasteriomono.org
Wed Aug 31 18:08:50 CEST 2005


Hi,

Summer of Code is over.

Latest tar.gz is at
http://www.monasteriomono.org/programs/kro/kro-0.5.tar.gz
and at the KDE subversion:
http://websvn.kde.org/trunk/playground/utils/kro/


Here is a final report of whats inside KDE Runtime Observer.
(Copy & Paste from my web: http://www.monasteriomono.org/programs/kro/)


A quick summary of what is going in:

* Graphical inspector of object relationships of Qt programs
* Shows object containment as when designing the GUI at run time
* Shows signal emissions at several levels: object level at tree view, 
emit count at the detailed view, signal emit and return at the event 
list, and signal/slot at the signal grid.
* Contains a time slider (with pause) that allows to go to a specific 
time moment, allowing easy signal track.

Usefullness:
  Some people ask what is it usefull for.

* Just because it can be done. Shows the internal power of the Qt... yet 
another stupid program...
* Helps to track some bugs. Follow the signal.. maybe it does not end 
where it should, like calling the signal again and again.
* Helps to find signal related performance checks and bad designed 
signal trees. Why does kmix poll so often? why always even when 
minimized? This kind of things can be found very easily.
* Helps to learn about a given Qt application internals and Qt internals 
itself. No more endless hours to know from where do that silly button 
come from.


Quick tutorial

  Open a program to observe, after some millisecconds it should start 
showing objects. You can see whats in those by left clicking, and send 
any to the signal grid with the second button.
  Then go to the event view, and unselect "Dont show Events" (is is off 
as it consumes lot of CPU power when on), then do something on your 
observed application. The events show up at the list, choose the one 
that drives you cracy and look where is it at the tree view, or send it 
to the signal grid.
  Now at the signal grid, select one object, left click on it, and 
select a signal/slot. The other end should appear, and if you do 
something in your observed application, then some green lights should 
show around.
  With the right button over a object you have a contextual menu where 
you can, for exmaple, look at the object details.
  Finally press the pause button, and move a little bit the slider. 
Green lights should appear again when over the time instant the signal 
is emitted.

Special Thanks

  Special thanks to Google Inc and the code.google.com people, specially 
to Chris DiBona. You should be really tired now. Google rocks.
  Special thanks also to the Michael Brade, the KDE project and the 
kde-soc and summer-accepted-2005-nh lists people.



More information about the Kde-soc mailing list