Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tracecompass-dev] Design Documents/Aligned X Axis
  • From: tracecompass developer discussions <tracecompass-dev@xxxxxxxxxxx>
  • Date: Thu, 12 Dec 2019 17:59:52 +0000
  • Autocrypt: addr=gbastien+lttng@xxxxxxxxxxxx; prefer-encrypt=mutual; keydata= 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 jvgrBQ==
  • Delivered-to: tracecompass-dev@xxxxxxxxxxx
  • List-archive: <https://www.eclipse.org/mailman/private/tracecompass-dev>
  • List-help: <mailto:tracecompass-dev-request@eclipse.org?subject=help>
  • List-subscribe: <https://www.eclipse.org/mailman/listinfo/tracecompass-dev>, <mailto:tracecompass-dev-request@eclipse.org?subject=subscribe>
  • List-unsubscribe: <https://www.eclipse.org/mailman/options/tracecompass-dev>, <mailto:tracecompass-dev-request@eclipse.org?subject=unsubscribe>
  • User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.2

Hi Ivan,


Thanks for sharing this, it looks great!


As for where you can start your work, I'd suggest to put it in the Incubator first, it's the perfect place to prototype and test stuff: you have access to all of Trace Compass, the barrier to entry (code review) is lower than in the main Trace Compass, as often it's work in progress that will evolve, so patches don't have to be perfect before they can go in and people can start experimenting with them. When and if it becomes stable, the feature can be moved to the main Trace Compass code base.


If you choose to put your work in a new plugin in the incubator, there's a helper script that creates new plugins for you (see [1] for information).


[1] https://wiki.eclipse.org/Trace_Compass/Incubator_Guidelines


Best regards,

Geneviève



On 12/12/19 5:09 PM, tracecompass developer discussions wrote:

Hi community!

 

I'm going to start my work on the view I need. I hope it will be useful for the community too, so sharing my ideas in order to get your criticism on them.

 

I need a view that is able to display data from various sources. I had a brief review of the idea implemented in this change [1]. I believe it to be a great solution, but what I really need here is an ability to display charts. For example, line series, especially more than one series on a chart (to compare at a glance).

 

So, my vision on my new view is as follows:

 

The view will consist of two main parts: X axis that is shared between inner viewers and a customizable set of lanes. A lane consists of two viewers: legend or list of entities to display and the data itself (Gantt or XY chart) along the X axis. Right now I need two types of lanes: TimeGraph lane and XYChart lane. A prototype of the view looks like this: [2]

 

On the prototype one can see 5 lanes and the X axis at the bottom:

- TimeGraph with alarms and two modes;

- XYChart with pressures;

- XYChart with gas concentrations;

- TimeGraph with one more mode that we need to see next to previous XY;

- XYChart with more gases.

 

The main idea is to create an opportunity to add/remove/modify lanes with various data sources according to a user's wishes.

 

Implementation:

 

I'm going to implement the view to be an orchestrator of lanes. The user should be able to add or remove a lane. Lanes will have a property 'type' ('TimeGraph' and 'XY' for the start). Lane's viewers will be based on the type. The user should be able to choose a data provider (or analysis, or a set of them?) according to the lane's type.

 

As a first step I plan to implement the view using existing viewers that are used by AbstractTimeGraphView and TmfChartView.

 

Also, I have a question regarding a place where I can start my work. What should I choose: Trace Compass, Incubator or a separate plugin?

 

Thanks.

 

[1] https://git.eclipse.org/r/c/137165

[2] https://imgur.com/a/ccxVWTv

 

--

Best regards,

Ivan Grinenko

Software Engineer

Auriga

 

From: tracecompass-dev-bounces@xxxxxxxxxxx [mailto:tracecompass-dev-bounces@xxxxxxxxxxx] On Behalf Of Matthew Khouzam
Sent: Thursday, November 28, 2019 12:13 AM
To: tracecompass-dev@xxxxxxxxxxx
Subject: Re: [tracecompass-dev] Design Documents/Aligned X Axis

 

Hi Ivan,

 

First of all, huge (YUGE) thanks for your involvement w/ the community so far! We have been chatting on IRC, but I would like to summarize my (personal) views on the subject.

 

With respect to the view you are proposing, I have personally on my own time experimented with the idea. I have made a view I jokingly call the "mother of all views"[1].

 

Now we have data providers and data provider descriptors[2]. We can therefore have a view that gets "every" or a sub-list of all the data providers and puts them in a gantt chart (time graph view)

 

The time graph view can support line charts now.[4] and bar charts can be added soon(tm) [5]

 

With this what's left is the content presentation. Recently presentation providers [3] have been merged under the name "fetchstyle". I sincerely believe most of the heavier lifting is done. 🙂

 

Here are some examples of views but they need to be updated.

 

With this solution, let's compare your requirements

 

> The main requirements for the new view:
> (YES) - synchronized vertical sashes;
> (YES) - shared X axis (viewport boundaries along the axis);
> (NO) - ability for a user to customize set and order of pairs of viewers (can be named "lanes", "rows"). Could be done with an additional form where a user can define the set and order of lanes;
> (NO, it is global at the moment, but we can filter on entry) - ability for a user to customize each lane with items to show there (like filters for a TimeGraphView or checkboxes for a TmfChartView);
> (NO, no major architectural issues though) - each lane must have an ability to fix its Y axis to user-defined values;
> (NO, this may be assisted by EASE.) - widgets should not be created only by analysis, a user should be able to add views that are not connected to a specific analysis;
> (YES, the view can support it)- not sure if any headers are needed for lanes.

 

I would estimate this is non-trivial work, but if your priorities are #1 and #2, you can deliver something much faster. The hardest item in my opinion is moving entries/lanes. That is mostly since I haven't put much thought into it though, maybe there's a simple answer out there.

 

 

 


From: tracecompass-dev-bounces@xxxxxxxxxxx <tracecompass-dev-bounces@xxxxxxxxxxx> on behalf of Grinenko, Ivan <ivan.grinenko@xxxxxxxxxx>
Sent: Thursday, November 21, 2019 1:47 PM
To: tracecompass-dev@xxxxxxxxxxx <tracecompass-dev@xxxxxxxxxxx>
Subject: [tracecompass-dev] Design Documents/Aligned X Axis

 

Hi all,


We have a need in something similar to the idea described in "Proposal 3: Compressed" here [1]. The main idea is to put different viewers one under another to maintain the same viewport in terms of time (or X axis).

The main requirements for the new view:
- synchronized vertical sashes;
- shared X axis (viewport boundaries along the axis);
- ability for a user to customize set and order of pairs of viewers (can be named "lanes", "rows"). Could be done with an additional form where a user can define the set and order of lanes;
- ability for a user to customize each lane with items to show there (like filters for a TimeGraphView or checkboxes for a TmfChartView);
- each lane must have an ability to fix its Y axis to user-defined values;
- widgets should not be created only by analysis, a user should be able to add views that are not connected to a specific analysis;
- not sure if any headers are needed for lanes.

It is quite similar to the "Proposal 3", but I'd like to make it possible to open any view (or at least some of them) whether as a separate view or as a TimeLineView widget. Sometimes a user wants to see a widget twice with different filters for example. At this point I don't know whether it is possible (or even makes sense) to make existing views to be shown as widgets of another view or should we create new widgets for the new view.

Could anyone suggest the best entry point to begin to investigate the topic, please?

Thanks!

--
Best regards,
Ivan Grinenko
Software Engineer
Auriga

[1] https://wiki.eclipse.org/Trace_Compass/Design_Documents/Aligned_x_axis


_______________________________________________
tracecompass-dev mailing list
tracecompass-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/tracecompass-dev

Back to the top