Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tracecompass-dev] Getting duration for intervals in CallStackView

Matthew
I'll admit to being a little lost regarding the callgraph analysis. I looked at the type hierarchy for IAnalysisModule and didn't see any classes derived from it that suggested callgraph analysis. I also ran a few file/string searches on source for variations on callgraph and for some reason not finding anything. This is Neon June release source code if that matters. So I wasn't able to figure out what callgraph analysis does.

At this point I do have a working implementation that does just about everything I need with the CallStackAnalysis and CallStackView. I am able to successfully annotate the intervals shown in the call stack view with additional attributes and get those to appear in the popup when I hover the mouse over an interval. I think the CallStack view gives me the right presentation of the trace since it lets the user see each function call and how much time is consumed by nested function calls within that function.

I was able to figure out how to backpatch the state system to record the value of an attribute from the start of an interval to the end of an attribute by querying the start time of the callstack attribute associated with an interval then calling StateSystem.modifyAttribute for each of the attributes I'm managing so the attribute value stored in the 'leave' event gets applied to the entire duration of the interval, not just the instant when the leave event occurred..

The only thing that sort of bothers me is that I had to mimick the behavior of attribute stacks since I couldn't do what I wanted with pushAttribute and popAttribute. That gets a little too deep into Trace Compass internals.

Dave



Inactive hide details for Matthew Khouzam ---08/30/2016 09:11:03 AM---Hi Dave, I am curious, would the callgraph analysis overlMatthew Khouzam ---08/30/2016 09:11:03 AM---Hi Dave, I am curious, would the callgraph analysis overlap these requirements a bit?

From: Matthew Khouzam <matthew.khouzam@xxxxxxxxxxxx>
To: <tracecompass-dev@xxxxxxxxxxx>, Patrick Tasse <patrick.tasse@xxxxxxxxxxxx>
Date: 08/30/2016 09:11 AM
Subject: Re: [tracecompass-dev] Getting duration for intervals in CallStackView
Sent by: tracecompass-dev-bounces@xxxxxxxxxxx





Hi Dave, I am curious, would the callgraph analysis overlap these
requirements a bit?

CCing Patrick as I am out of office today.


On 16-08-17 09:35 AM, David Wootton wrote:
>
> I'm able to update the state system to add additional attributes that
> I want to appear in the popup that appears when I hover the mouse over
> an interval in my extension of CallStackView. This works if I have an
> attribute I know the value of an attribute at the start event of the
> interval, where I push and pop the quark with this value.
>
> I have some attributes that I know the value of only at the end event
> for the interval that I want to display similarly. If I push and pop a
> quark that contains the value, then that value appears in the State
> System Explorer view for the time/duration between the push and pop of
> the quark.
>
> The problem is that I don't seem to have either the start time or the
> duration for the interval at the time that the end event is being
> processed.
>
> I can make this work by creating another attribute/quark that contains
> the interval start time, and push the quark for that attribute in the
> processing for the entry event then get that quark in the exit event
> processing, use the value and pop the quark.
>
> I'm wondering if there's a better way to do this.
>
> Thanks
>
> Dave
>
>
> _______________________________________________
> tracecompass-dev mailing list
> tracecompass-dev@xxxxxxxxxxx
> To change your delivery options, retrieve your password, or unsubscribe from this list, visit
>
https://dev.eclipse.org/mailman/listinfo/tracecompass-dev

_______________________________________________
tracecompass-dev mailing list
tracecompass-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/tracecompass-dev





Back to the top