This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 160169 - Complete Gizmo UI review
Summary: Complete Gizmo UI review
Status: RESOLVED FIXED
Alias: None
Product: cnd
Classification: Unclassified
Component: -- Other -- (show other bugs)
Version: 6.x
Hardware: All All
: P2 blocker (vote)
Assignee: Stepan Doubrava
URL:
Keywords:
Depends on:
Blocks: 159702 160162 160163 160168
  Show dependency tree
 
Reported: 2009-03-12 11:09 UTC by Leonid Lenyashin
Modified: 2009-03-31 18:35 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Leonid Lenyashin 2009-03-12 11:09:52 UTC
All the Gizmo UIs should be revised: Indicators window, Details captions, columns captions, etc
Comment 1 Stepan Doubrava 2009-03-20 18:02:05 UTC
Review of the feature was created here:

http://xdesign-tools.czech.sun.com/projects/ss/gizmo/review.php

Some of the components are currently being redesigned and therefore I did reveiw those in great detail.

 
Comment 2 Leonid Lenyashin 2009-03-23 16:00:57 UTC
Stepan,

Thank you for the review. I still have a few questions:
1) As I got your proposal we will not have Tabs inside Tabs in detailed views. Ok then "DLight tools" caption is gone?
2) Is there a proposal about captions for detailed views? The "CPU Monitors", "Memory Tool" and "Sync Tool" are
confusing in all means. I can suggest something like:
- For CPU: "Hot Spots", "CPU Consumers", "Hot functions"
- For Memory: "Memory Leaks", "Memory Consumers", "Memory Allocations"
- For Sync: "Synchronisation Waits", "Locks Waits", "Blocked Threads", "Stalled Functions"
What do you think?
3) We need good names for columns in detailed views. Now they are:
- CPU: "Function Name", "Inclusive Function User Time", "Exclusive Function User Time"
- Memory: "Function Name", "Bytes Leaked", "Leaks Count"
- Sync: "Function Name", "Inclusive Sync Wait Time", "Sync Wait Count"
I can suggest:
- CPU: "Hot Spot", "Execution Time (Inclusive, sec)", "Execution Time (Exclusive, sec)" (May be "Time spent her and in
callees (sec)" and "Time spent here only (sec)"). I'd also suggest to swap Inclusive and Exclusive columns.
- Memory: "Allocator" or "Leaker", "Allocated Bytes" or "Leaked Bytes", "Allocations Count" or "Leaks Count"
- Sync: "Blocked Function", "Time Spent on Locks (sec)", "Locks Count" or "Waits Count" or "Stalls Count" or "Blocks Count"

4) This is not clear to me:
4. The Refresh button is a bit confusing
Solution: In case the button fixes the values to some timeframe then we should use the "pin icon"

Thanks,
LL
Comment 3 Stepan Doubrava 2009-03-23 16:20:59 UTC
Hi Leonid.

(1) yes ... that is correct ... having tabs inside tabs is bad practice.
(2) you guys know the best what the indicators actualy show, so you will be the best one to propose the titles
(3) Same as (2)
(4) I was suggesting to use an incon of a pin in case the button is used of "fixing" the detail view to the certain
point in time. 

regards,
Stepan
Comment 4 Leonid Lenyashin 2009-03-23 16:30:38 UTC
(2) Exactly! We know what it shows. And it is a problem, because we can understand what it shows even if wording is
poor. Our users do not know what they see in the views, so bad wording may mislead them. So here we need a side check.
May be TechPubs can help us?
Comment 5 Leonid Lenyashin 2009-03-24 12:20:32 UTC
I realised that showing "Function Names" in Memory and Sync detailed views is not very helpful. What user wants is an
exact place where allocation or lock occured. So I think it should be called like 
  "Allocation Point" | "Leaking Place" | "Leaking at" | "Leakage Point"
& "Stall Point" | "Waited at" | "Blocked at" | "Stalled at"

and shown as
   filename:line (function name)
like:
  mandelbrot.cc:127 (main) or 
  mandelbrot.cc:127 (main+34)
Comment 6 Susan Morgan 2009-03-31 18:35:15 UTC
Here are some suggestions for the titles, labels, and tooltips for the Gizmo tools.

Name of the panel where the graphs show up...
(current)		(new suggestion)
Run Monitor		 Runtime Monitor

                             		      

Names of the graphs...
(current)	(new suggestions)
CPU Usage	CPU Time
Memory Usage	Memory Allocated, or Memory Allocation  (if this shows more than just leaks here)
Thread Usage 	Thread Wait Times, or Thread Blocks

Also I suggest that units for the axes be indicated.   Is the CPU usage in %  or milliseconds?  
Is memory usage in bytes that are in use, or bytes that are lost/leaked?  Or something else?
Is the Thread usage Y axis the number of times any thread has to wait?  Is the x axis
in each tool an indicator of time elapsing?


Labels for details tabs
==================

CPU
------
(current)			(new suggestions)
Details - CPU Monitor     	CPU Time Details, or CPU Time Per Function
(Better to put name of the tool first because the label is usually truncated, and you only see "Details -" for each one.)

Tab tooltip -- CPU time consumed per function 

Column Labels
(cur)
 Function Name   CPU Time (Inclusive)    CPU Time (Exclusive)

I can't think of anything more meaningful that is not too long, so maybe tooltip text can explain them.
 
Column tooltips
Function Name tooltip -- Function in running program or linked library(?)
CPU Time (Inclusive) tooltip --  Time Spent in Function plus any Functions it calls 
CPU Time (Exclusive) tooltip --  Time Spent in Function Only


Memory
--------
(cur)			(new suggestions)
Details - Memory Tool	 Memory Leak Details, or Memory Leaks Per Function(?)
 Tab tooltip -- Memory leak data per function

Column Labels
(cur)
Function	Leak
(new suggestion)
Leak Location	Number of Leaks?     Total Bytes Lost/Leaked?    
filename:line# (function)

I think filename:line (function) is a good idea suggested in the bug. However, I'm not sure
what the number under Leak column actually represents, so can't make a clear suggestion for the label.)

Column tooltips
Function causing memory leak
Number of leaks/bytes of memory lost(?)


Sync
------	
(cur)                                        (new suggestions)
Details - Sync Tool		Thread Synchronization Details, or Thread Wait Details, or Thread Block Details
Tab tooltip -- Thread synch/wait/block data per function  (the term should match whatever you choose for the name of the
graph and detail tab)

Column Labels
(cur
Function	Count		Time,ms
(new)
Function       Blocked Threads          Wait Time (ms)
(Can something like filename:line (function) be shown here, as in memory tool?)

Column tooltips
Location of thread block
Number of blocked threads
Time spent waiting, in milliseconds 

I hope these are somewhat helpful.