Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tracecompass-dev] Upcoming UI features

On 2016-02-16 10:57 AM, Matthew Khouzam wrote:
Hi All,

We're developing some new views and revamping old ones in tracecompass,
I think we are at the point where we can seek feedback.


1- Split the resources view into an Execution context view and an
Interrupts view.

Hi Matthew,

Modeling the IRQ information per CPU is important, as pointed out in bug 381497 [1]. However, it is also important to keep the "aggregate" information, because there are use cases that make heavy use of this (following the activity of one IRQ or one driver through the trace for example). There is a problem right now with our current model, because we don't split it per CPU. The new version should show something like this:

  IRQ 1 ---[----][----][-----]

  CPU 0 ---[----------]-------

    CPU 1 ---------[-----------]


where if there is an "overlap" of the same handler being run on different CPUs the same time, it should be represented correctly in the aggregate row. This means there should still be an attribute for "IRQ 1" in the state system to hold this information. This is at the core of fixing bug 381497, and the patches posted so far do not address this.

I think this would make a good first step. Afterwards, we could decide if we want to split the CPU sub-trees and IRQ sub-trees in different views. I would tend to think that would make sense (to split them), because I can't think of any use case where you would want to look at both at the same time. They would both show basically the same information, only indexed differently, so you'd be using one view or the other.


2- Show CPU usage for a given CPU

3- Follow thread

This is another interesting topic. I have mentioned previously the idea of extending the TmfTraceContext to be able to hold additional information provided by analyses. Things like a "current selected thread" and a "current selected CPU" would be a perfect example. I see a patch [2] was posted to add signals indicating thread or CPU selection. This is pretty good, but it would also require a similar addition to the trace context, just like we do with time stamp and visible range selections. That way if a view is closed when a signal is sent, but opened later, it can still query what is the current thread/CPU it should show.

Another thing to keep in mind: would it be possible to select multiple threads or CPU at once? That could be very useful too.

There are plenty of use cases where this approach would fit:
The CPU usage view could update to show the CPU usage of selected thread(s) or CPU(s), like in your example. The Critical path analysis could be turned into a "on-demand analysis" (like the other external analyses I was talking about in my other email about lttng-analyses integration), which would retrieve which thread is currently selected from the trace context. Perhaps even the current time range too. That would help in removing the heavy coupling between that analysis and the Control Flow view.


Cheers,
Alex


[1] https://bugs.eclipse.org/bugs/show_bug.cgi?id=381497
[2] https://git.eclipse.org/r/#/c/65594/


Back to the top