Skip to main content

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

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.

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.

Thoughts?


Thanks,
Alex


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

Attachment: analyses.png
Description: PNG image


Back to the top