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 02/19/2016 02:59 PM, Alexandre Montplaisir wrote:


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?
Not clear yet how you will distinguish between Automatic and On-demand. Are automatic analyses analyses that are marked as automatic in the analysis plug-in extension and are run when opening a trace? And the On-demad analyses are all analyses that are either external (e.g. LTTng Analysis) or are "normal" analyses that are not run automatically when opening a trace?

If yes (to both questions) then your picture on top is incorrect. The CPU Usage analysis is On-Demand. It is only executed when the CPU Usage view is opened or if the CPU usage is already open when a trace is opened.


And of course, the Properties view would be a nice place to put extra information about each analysis.
Yes, would be very nice. It's about user experience.


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? :)
Yes, I think that's the big plus to allow the integration between command-line analyses and Trace Compass.

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.
I think, it's quite essential to have the data-driven aspect right from the beginning and not having it as a future step. The integration between command-line analyses and Trace Compass is meant for users to easily use their custom scripts together with Trace Compass without having to write Java. Having to write a Java shim for each available analysis, the user would not do that. They would rather write the analysis in Java to begin with or stick to the command-line.

Best Regards
Bernd



Cheers,
Alex



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