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



On 2016-02-18 11:01 AM, Bernd Hufmann wrote:
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:
[...]


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.

Thinking a bit more about it, one thing I like about the current prototype, and just having the analyses listed under the trace in general, is that it helps in discoverability. If it's not immediately visible, the user might never find out the option exists.

But as you say, it should be separated from "normal" analyses. I kinda like the idea of a separate sub-tree. It could be something like:

  mytrace

     +- Automatic analyses

     |     +- Kernel analysis
     |     +- CPU Usage analysis
     |     +- etc.
     +- On-demand analyses
           +- LTTng-Analyses CPU Top
           +- LTTng-Analyses IO Top
           +- Critical Path analysis (eventually!)
           +- etc.


something like that?

And of course, the Properties view would be a nice place to put extra information about each 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.

Yes, I'm warning up to the idea to "Automatic analysis" vs. "On-demand analysis". Other ideas?

Even in the current prototype, the analysis are defined in Java. Since there is no auto-discovery yet, each available analysis has to be defined manually.


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.

Indeed, it would be great to have "Data-driven on-demand analyses" no? :)

But for now, as mentioned above, there needs to be a Java shim for each available analysis, with a corresponding extension point entry. I would see data-driven-ness as a future step.


Cheers,
Alex



Thanks,
Alex


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





Back to the top