[Gammaray-interest] Object connectivity inspector/viewer
Christian Gagneraud
chgans at gmail.com
Fri May 10 13:55:45 CEST 2019
[another old draft email, sending it in the hope to bring the discussion back]
Hi,
Starting a new thread.
As i started coding, i'm slowly realising that the signal history
model might not be the right tool to work on/with.
First, from personal experience, i do not find it that useful, and as
i usually use Gammaray on a big App, it tends to be too slow and
sometimes causes instability.
IMHO, I think having something like the meta-object model would be more useful.
A simple tree, with objects as root nodes (parenting ignored), and
signal/slots as leaf nodes. then columns would be: object/method name,
endpoint object, enpoint method name, invocation count, and
accumulated duration, no need for fancy "scope-like" drawing. The type
of connection can be shown with the decoration role.
Or maybe even more simple, just a table model.
The tree view would be on the left, and on the right side, would be
the graph(s) and the mechanism to filter/select object of interest
(TBD).
Connectivity map
I have a stupid/simple PoC for the connectivity map, it doesn't yet
contain meta-data, but the result is IMHO interesting. The only
problem is that it is generated as a dot file on the target (inside
the ObjectInspector). If i want to implement this on the GUI side,
that would be better to have a more suited model - my understanding is
that the GUI has only access to remote models, so i'll have to rely on
models, is it correct?
As well, i would like to render the graph in the UI, for a start i'm
thinking about generating an SVG and simply display it.
I think that a weighted graph would be perfect for that job, no
details about signal/slots, just weight b/w objects.
See attached dot files, generate png with "dot -O -Tpng graph1.dot"
Connection cascading
Haven't try that one yet, but it is definitely an interesting one,
that one would require details about signal/slot, threading,
connection type, ...
Scope
Maybe the current scope could be integrated somehow.
Object vs class.
As well IMHO, it would be nice to have an "object" view and a "class"
view. As you might be interested to look at your metrics on a class
basis, eg. Which class(es) it generating the most "traffic". Which
classes are strongly coupled, ... Maybe something for a distant
future.
Chris
-------------- next part --------------
A non-text attachment was scrubbed...
Name: graph1.dot
Type: application/msword
Size: 2541 bytes
Desc: not available
URL: <http://mail.kdab.com/pipermail/gammaray-interest/attachments/20190510/d7009950/attachment.dot>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: graph2.dot
Type: application/msword
Size: 2802 bytes
Desc: not available
URL: <http://mail.kdab.com/pipermail/gammaray-interest/attachments/20190510/d7009950/attachment-0001.dot>
More information about the Gammaray-interest
mailing list