Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tracecompass-dev] UI for external analyses

Hi Alex

Glad to see that this is being productified for Trace Compass. See below for some comments.

On 02/15/2016 05:37 PM, Alexandre Montplaisir wrote:
Hi all,

I am currently working on finishing up the integration between Trace Compass and the lttng-analyses project [1]. For those not familiar with it, this is a set of scripts that can be run on LTTng traces to extract statistics, graphs etc. in different categories (I/O, scheduling, CPU usage, and so on). The integration with Trace Compass will allow calling these scripts directly from the UI, and reporting the resulting in tables or charts in Trace Compass.

One thing I am wondering is how to present this new feature in the UI.

Some background information first:
Trace Compass has the notion of "analysis", which means "something that runs on a trace". Typically those analyses first create some indexes, statesystems, etc., and then show their results in views (like the Control Flow view, CPU Usage view, etc.). These views are dynamic, which mean they will follow time range selections and update what they show accordingly.

However, "external" analyses like the lttng-analyses function a little bit differently. They do not run automatically on a trace, instead the user decides to run them, either on the whole trace or on a given time range. The results are then shown in static tables or graphs. Unlike the "dynamic" views from before, these tables will not update their contents. They just show the static results of the analysis, which we've been calling "report".

So it goes like this:
(standard) analysis -> dynamic views
external analysis -> report -> static tables/graphs

Note that subsequent runs of a given external analysis would produce separate reports. It could be useful to have each one of those reports remain available, until they are explicitly deleted.


In my current prototype, I just display all available external analyses under the trace, just like standard analyses are (see attached screenshot). They can then be invoked by right-click on them and choosing "Run External Analysis" from the contextual menu. The results are displayed in non-singleton views, one per table of output of the analysis.
I think it's not ideal to show them on the same level as "standard" analysis. One reason is that they are different (as you already described). Another reason is that the list might get very long. Would it be a valid option to add a separate node under the trace for external analysis and have the list there. By doing that users could select one and right-click on one and run it. The advantage of doing this is that you can provide properties for the properties view that gives some details about the analysis.

Alternatively, you could have single entry in the tree under the trace. When user right-click on this element a context sensitive menu could open and the user can select the analysis to run. However, this approach won't give you the possibility to show the details of the analysis in the properties view. You would have an alternative way for the displaying description/details of external analysis.

This is not ideal, because it's confusing which analysis are supposed to be run manually, and which are just there for listing their outputs. A potential alternative would be to have a new "Run External Analysis" option, from the context menu of the *trace*, which would open a dialog to handle all available external analyses.

Also, we'd probably need a new name instead of "External Analysis". These may not even be external eventually, they could be defined in Java, shipped with Trace Compass, and be able to be called on demand by the user.
Good point. External doesn't fit.

Thoughts?

One thing is needed a way to manage the external analysis (I mean the ones that actually external). I'm thinking of a dialog like the "Manage Custom Parsers" or "Manage XML analyses" where users can import/export/delete/edit external analysis.


Thanks,
Alex


[1] https://github.com/lttng/lttng-analyses


_______________________________________________
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