Bug 390827 - [tracepoint] Trace view enhancements
Summary: [tracepoint] Trace view enhancements
Status: RESOLVED FIXED
Alias: None
Product: CDT
Classification: Tools
Component: cdt-debug-dsf-gdb (show other bugs)
Version: 8.2   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: 8.4.0   Edit
Assignee: Dmitry Kozlov CLA
QA Contact: Marc Khouzam CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-10-01 10:16 EDT by Dmitry Kozlov CLA
Modified: 2014-05-30 11:31 EDT (History)
8 users (show)

See Also:


Attachments
The patch (93.50 KB, patch)
2012-11-22 11:38 EST, Dmitry Kozlov CLA
no flags Details | Diff
Separate patch with UI experiments to be applied on top of previous patch. (18.33 KB, patch)
2012-11-26 07:55 EST, Dmitry Kozlov CLA
cdtdoug: iplog-
Details | Diff
Screenshot to the second patch. Offline mode. (33.29 KB, image/png)
2012-11-26 07:56 EST, Dmitry Kozlov CLA
no flags Details
Screenshot to the second patch. Live mode. (38.57 KB, image/png)
2012-11-26 07:56 EST, Dmitry Kozlov CLA
no flags Details
Proposed patch (134.53 KB, patch)
2013-07-09 10:10 EDT, Dmitry Kozlov CLA
no flags Details | Diff
Proposed patch (134.53 KB, patch)
2013-07-09 10:12 EDT, Dmitry Kozlov CLA
no flags Details | Diff
Proposed patch (134.76 KB, patch)
2013-07-09 15:55 EDT, Dmitry Kozlov CLA
cdtdoug: iplog-
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Dmitry Kozlov CLA 2012-10-01 10:16:00 EDT
This is a set of Trace Control View UI enhancements: new UI, support of most of trace-status fields, support for start and stop notes.
Comment 1 Dmitry Kozlov CLA 2012-10-01 11:45:08 EDT
I3ae49dece2056c8e8fd9eb21118926b039a5cdf0
Comment 2 Dmitry Kozlov CLA 2012-10-01 11:45:55 EDT
Gerrit Change-Id: I3ae49dece2056c8e8fd9eb21118926b039a5cdf0
Comment 3 Marc Khouzam CLA 2012-10-01 12:11:02 EDT
Gerrit review at: https://git.eclipse.org/r/#/c/7997/
Comment 4 Dmitry Kozlov CLA 2012-10-12 05:58:37 EDT
Hi Marc, 
I have added new patch https://git.eclipse.org/r/#/c/7997/.
It is aligned with all gdb patches I have set and it is independent from -gdb-set patch/bug.
It would be nice if you can tell something about it.
Comment 5 Marc Khouzam CLA 2012-10-17 15:44:25 EDT
(In reply to comment #4)
> Hi Marc, 
> I have added new patch https://git.eclipse.org/r/#/c/7997/.
> It is aligned with all gdb patches I have set and it is independent from
> -gdb-set patch/bug.
> It would be nice if you can tell something about it.

Thanks Dmitry, I have started to look at the proposed changes.

First thing is that I get assertions.  Please add -ea to your vmargs in the Arguments tab when launching your test Eclipse.
Be careful that the -ea option must be in the lower box of arguments.  The top
box if for eclipse, the bottom is for the jvm and -ea is a jvm flag.

Once that is enabled, you'll get assertions when you are illegally using some DSF calls outside the DSF executor.  You should see some of these with the current patch :)
Comment 6 Marc Khouzam CLA 2012-10-17 16:24:30 EDT
I didn't have a lot of time to test today but I thought I post some comments right away to get the ball rolling.  I'll test more tomorrow.

This is a great start, thank you!

Before going into comments, let's start by saying that UI stuff is very hard to 'get right'; my comments below are my opinion and I would appreciate your view if you don't agree with me.  I'm not in any way an expert in UI.

0- I actually found the original screenshot you sent me was nicer than the layout in the patch.  The patch still uses too much text directly in the view (as the current implementation of the view does).  Maybe using a visible textbox for the user name and notes would make things look more UI-like?

1- I think having the "Save Trace Data" button in the main toolbar could be confusing.  Normally, the little disk icon indicates that the data of the view will be saved, which is not really the case here.

2- Not sure I like the gray background for the view :)  It makes the toolbar blend too much into the view when the toolbar is too big to fit next to the view tab.  Also, all other views have a while background for Debug, so it is probably better to keep it white.

3- When pressing the 'edit' button to input the user or the notes, I suggest that pressing 'Esc' will cancel the changes and revert back to the old one.

4- We need a different icon for the circular buffer, like a single arrow that goes full circle 

5- Indentation of the buffer text seems a little more to the right than the rest.

6- Why are we polling GDB once the trace is started?  We added the 'refresh' button to avoid polling.  The user must be conscious that buffer size/tpCount collected cannot be updated live.  Although it is nice to see the buffer fill up live...  We could make polling an option, but we need to be able to turn it off.

7- During a trace experiment, we no longer see how many records have been collected.  I think this info is easier to understand than the buffer size, so we should show both like before.

8- The slide bar for trace frames is causing delays.  When I slide it back and forth it seemed to cause a lot of work to Eclipse and communication with GDB.  How about we only trigger on a slide bar change when the user lets it go?

9- The slidebar for trace frames is not visible at the start and when tracing, however if I stop tracing it appears, and then if I start tracing again it remains.  We should be consistent about displaying it or not during tracing.
Comment 7 Dmitry Kozlov CLA 2012-11-22 11:38:31 EST
Created attachment 223871 [details]
The patch

Hi Marc,
this patch addresses issues 2-9 and intentionally skips 0 and 1. I want to keep them separate because UI discussion process is not as straigtforward as bugfixing. I still experience problems uploading patches to gerrit, sorry to disturb you, but it seems nobody cares about keeping gerrit working.
Comment 8 Dmitry Kozlov CLA 2012-11-22 11:42:24 EST
Then about 1): the reason I moved save from menu to toolbar was to show user that such feature exists at all, because it was not easy to find save before that. If you inisist I can rollback this part, but it seems to me that to be confused about save in toolbar is less ugly than fail to find it at all. WDYT?
Comment 9 Dmitry Kozlov CLA 2012-11-22 12:17:26 EST
And I have a question: icon for circular buffer is from here http://www.iconfinder.com/ajax/download/png/?id=25585&s=16 (Creative Commons (Attribution 3.0 Unported)), slightly modified by me. I failed to find something appropriate with EPL and I don't like two other self-made variants I included into the patch. SO I preper this derivation from CC licensed icon, but I'm not sure if it is appropriate.
Comment 10 Marc Khouzam CLA 2012-11-23 10:57:15 EST
Thanks for the new patch.  I will have a look next week.
Comment 11 Marc Khouzam CLA 2012-11-23 11:04:25 EST
I've pushed the patch as patchset 3 on Gerrit.
https://git.eclipse.org/r/#/c/7997/
Comment 12 Dmitry Kozlov CLA 2012-11-26 07:55:15 EST
Created attachment 223951 [details]
Separate patch with UI experiments to be applied on top of previous patch.

Separate patch with UI experiments to be applied on top of previous patch.
Comment 13 Dmitry Kozlov CLA 2012-11-26 07:56:14 EST
Created attachment 223952 [details]
Screenshot to the second patch. Offline mode.

Screenshot to the second patch. Offline mode.
Comment 14 Dmitry Kozlov CLA 2012-11-26 07:56:47 EST
Created attachment 223953 [details]
Screenshot to the second patch. Live mode.

Screenshot to the second patch. Live mode.
Comment 15 Marc Khouzam CLA 2012-11-30 15:14:18 EST
(In reply to comment #7)
> I still experience problems uploading patches to gerrit, sorry to
> disturb you, but it seems nobody cares about keeping gerrit working.

Apparently, if you change the remote address for gerrit to use:

https://git.eclipse.org/r/cdt/org.eclipse.cdt.git

(notice the removed '/p')it will work.

See https://bugs.eclipse.org/bugs/show_bug.cgi?id=393735#c49

I've update the wiki to mention this new address:
http://wiki.eclipse.org/CDT/git#Using_Gerrit_for_CDT
Comment 16 Marc Khouzam CLA 2012-12-20 09:24:36 EST
Sorry Dmitry but I haven't had time to look at this yet.  I will plan it in my sprint right after the holiday vacation.
Comment 17 Marc Khouzam CLA 2013-02-04 16:10:57 EST
 (In reply to comment #7)
> Created attachment 223871 [details]
> The patch
> 
> Hi Marc,
> this patch addresses issues 2-9 and intentionally skips 0 and 1. I want to
> keep them separate because UI discussion process is not as straigtforward as
> bugfixing. I still experience problems uploading patches to gerrit, sorry to
> disturb you, but it seems nobody cares about keeping gerrit working.

Sorry for the delay Dmitry.
The patch I pushed for you didn't contain the icons so I'm getting NPEs.  The icons are in the path attached to this bug, but I don't think I can extract them from that, you would have to attach them separately.    Instead, can you push a new version of the patch to Gerrit which contains the icons?  I assume you should be able to push to gerrit with the suggestion from comment 15.  You can fetch 3 from gerrit, add the 7 icons, update the commit, then push again to gerrit.

Thanks
Comment 18 Dmitry Kozlov CLA 2013-02-05 07:31:38 EST
(In reply to comment #17)  
> Instead, can you push a new version of the patch to Gerrit which contains
> the icons? 
Glad to see that we returned to discussion, will do it asap.
Comment 19 Marc Khouzam CLA 2013-02-07 14:23:23 EST
I have posted comments in Gerrit.  They mostly all pretty minor and should be easy to fix.  I still have to review the one big file TraceControlView.java, but maybe we should discuss the UI details before spending time on that file.

I've focused on the code, but I will now pay attention to the user experience and post comments about the UI itself.

Thanks
Comment 20 Dmitry Kozlov CLA 2013-02-07 15:17:33 EST
Hi Marc, thank you for commnents, I have found my current development tree a bit different from the patch I have posted, there were another experiments how to improve UI based on discussion with Vladimir. I saw your comments about UI glitches you have found, do you have any other thoughts or wishes about it? I will try to cleanup patch based on list in gerrit and resend it.

Thank you,
Dmitry
Comment 21 Marc Khouzam CLA 2013-02-12 14:07:01 EST
(In reply to comment #20)
> Hi Marc, thank you for commnents, I have found my current development tree a
> bit different from the patch I have posted, there were another experiments
> how to improve UI based on discussion with Vladimir. 

I'm looking forward to seeing what you propose.

> I saw your comments
> about UI glitches you have found, do you have any other thoughts or wishes
> about it? I will try to cleanup patch based on list in gerrit and resend it.

I'm not sure I mentioned this in Gerrit or not, but when connecting to a remote target, the trace notes are not fetched from the target or pushed to the target.  What I mean is that when we connect I think we should:
1- check if the target has trace-notes, trace-user and trace-stop-notes set, and if it does, we should update the CDT view
2- if no notes are set on the target but we have some set in the view, we should push them to the target.

As for the UI, I'm not thrilled with the way the notes are layed out.  The label "User" and the string for the user all blend together and it looks like we just have a lot of text as we did before; same for the other notes and summary strings.  I'd like us to have a more graphical view and less plain text.  This can simply mean a different layout to make it less focused on the text.

Another idea I had, although I'm not sure how difficult it would be, is to use a type of 'pie' chart to represent the buffer when we use the circular buffer.  The background could be something like gray and fill up in  a different color; once it is full, a single line would keep on turning as the buffer keeps writing, but the color would be all the same as the buffer is full.  I thought this would represent the circular buffer case pretty well.  What do you think?
Comment 22 Marc Khouzam CLA 2013-02-18 05:31:27 EST
Just a note that feature freeze is only a couple of months away.  Let's try to get this in for this release.
Comment 23 Dmitry Kozlov CLA 2013-02-19 03:16:42 EST
Mark, I had a flu last week, this week I have scheduled 3 workdays for tracepoints UI.
Comment 24 Marc Khouzam CLA 2013-04-10 06:41:54 EDT
(In reply to comment #23)
> Mark, I had a flu last week, this week I have scheduled 3 workdays for
> tracepoints UI.

Ping.  We only have 4 weeks left if we want to get this accepted for Kepler.
Comment 25 Dmitry Kozlov CLA 2013-07-09 10:10:28 EDT
Created attachment 233275 [details]
Proposed patch

New patch, note that there is one class FlatButton.java stolen from our codebase, it is written by Vladimir Prus, and posted on his permission, but  probably this require separate procedure. Please advice.
Comment 26 Dmitry Kozlov CLA 2013-07-09 10:12:47 EDT
Created attachment 233276 [details]
Proposed patch
Comment 27 Dmitry Kozlov CLA 2013-07-09 15:55:32 EDT
Created attachment 233296 [details]
Proposed patch

Patch with proper signed off
Comment 28 Vladimir Prus CLA 2013-10-18 01:27:37 EDT
Marc,

are you planning to review this patch?

Thanks!
Comment 29 Marc Khouzam CLA 2013-10-18 12:23:16 EDT
(In reply to Vladimir Prus from comment #28)
> Marc,
> 
> are you planning to review this patch?
> 
> Thanks!

Woops, sorry.  I lost track because it was never pushed to Gerrit.  Did Dmitry ever get his gerrit account working?
Comment 30 Dmitry Kozlov CLA 2013-10-21 07:29:51 EDT
(In reply to Marc Khouzam from comment #29)
> Did Dmitry ever get his gerrit account working?
It worked only once for me far ago.
Comment 31 Vladimir Prus CLA 2013-11-22 09:07:37 EST
I've pushed https://git.eclipse.org/r/#/c/18726/ on Dmitry's behalf, since he's away this week.
Comment 32 Marc Khouzam CLA 2013-11-28 15:37:17 EST
(In reply to Vladimir Prus from comment #31)
> I've pushed https://git.eclipse.org/r/#/c/18726/ on Dmitry's behalf, since
> he's away this week.

Could you instead push the patch to the same review as before?
Just amend your commit to use the gerrit changeId:

Change-Id: I3ae49dece2056c8e8fd9eb21118926b039a5cdf0

You should also put Dmitry at the Author in the commit, no?
I don't know if this will work for a non-committer, but if it does, you can abandon the new review.

Thanks
Comment 33 Dmitry Kozlov CLA 2013-12-03 08:40:17 EST
Hi Marc, can you look at this change, it should have proper change ID
https://git.eclipse.org/r/#/c/7997/

The issue with gerrit was that I tried to commit to commit owned by other person accordinf to cla management site. Now it supports multiple emails associated with one account and this fixed the problem.
Comment 34 Marc Khouzam CLA 2013-12-05 17:24:59 EST
(In reply to Dmitry Kozlov from comment #33)
> Hi Marc, can you look at this change, it should have proper change ID
> https://git.eclipse.org/r/#/c/7997/

Thank you.  I have started the review.  

To go faster, I will make changes myself in the code for what I think does not need to be discussed.  What needs discussion I will put as Gerrit comments.

Once ready, I'll post a new version with my changes.
Comment 35 CDT Genie CLA 2013-12-13 06:22:07 EST
*** cdt git genie on behalf of Vladimir Prus ***

    Bug 390827 - Trace View enhancement
    	Create necessary button.
    Signed-off-by: Vladimir Prus <vladimir@xxxxxxxxxxxxxxxx>

[*] http://git.eclipse.org/c/cdt/org.eclipse.cdt.git/commit/?id=99b34b33524e01e19f71cd809c02f7d7122aeb26
Comment 36 Marc Khouzam CLA 2013-12-17 11:37:44 EST
I've reviewed the patch from a coding point-of-view, made some modifications myself (to go faster) and pushed to gerrit.

The changes I made can be seen by comparing patchset 8 (Dmitry's patch, rebased), and patchset 9 (updated with my changes).

I will now spend some time testing and looking at the UI in more detail.
Comment 37 Marc Khouzam CLA 2014-02-04 20:50:44 EST
Well, we've made it :)

Patchset 15 is good to commit.

Mikhail, since the contribution is > 250 lines, can you commit it for me since you work at the same company as Dmitry?  Thanks!

Thanks Dmitry for the great contribution!
Comment 38 Dmitry Kozlov CLA 2014-02-05 04:02:38 EST
Marc thank you for your patience and lots of ideas and reviews.
Comment 39 Dmitry Kozlov CLA 2014-02-05 04:03:44 EST
Patch reviewed and checked in.
Comment 40 Marc Khouzam CLA 2014-02-05 06:54:18 EST
Thanks Mikhail for committing.

I've updated the N&N with this feature.  Feel free to change what I put or add things: https://wiki.eclipse.org/CDT/User/NewIn84#Trace_Control_view_enhancements