cornercorner
FeaturesPluginsDocs & SupportCommunityPartners

Bug 100662 - Tabular version of Thread State information
: Tabular version of Thread State information
Status: RESOLVED FIXED
: profiler
Base
: 6.0
: All All
: P3 (vote)
: 6.5
Assigned To:
:
:
:
:
:
:
  Show dependency treegraph
 
Reported: 2007-04-11 20:00 by
Modified: 2008-08-07 20:43 (History)
Issue Type: ENHANCEMENT
:


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2007-04-11 20:00:06
The current thread state graph is great and does a good job of showing the
overall state of the threads in an application.

A handy enhancement would be if the same type of information were available as
text in a sortable table.  The table would have nine columns:

1. Threads - contains the name of the thread, just like in the current thread
state graph.

2. Running - Amount of time during the thread's life that it has been in
Running
state.

3. Running % - Amount of time during the thread's life that it has been in
Running state, shown as a percentage of the total time that the thread has been
alive.

Columns 4-9 would be the same as columns 2 and 3, only for Sleeping, Wait, and
Monitor.

This would allow the user to click a column header and sort the table of
threads, making it easy to quickly spot the threads that for example have spent
a large percentage of their time in Monitor state.  For large applications with
many threads, this would be much easier than paging through the current thread
state graph looking for bars that are primarily red in color.

As far as fitting this into the existing UI, seems like it should just be
another tab.  The two current tabs are "Threads(Timeline)" and
"Threads(Details)."  Perhaps this new tab could be labeled
"Threads(Percentages)" or "Threads(Time)."

The little controls that allow zoom-in, zoom-out, and "scale to fit" of the
timeline should be disabled or hidden completely when this new tab has focus. 
The drop-down for controlling which threads to display would still work,
however.
------- Comment #1 From 2008-07-04 16:59:37 -------
Implemented as a table with columns containing both absolute and relative times
for each thread state - I'm not sure if
extra columns for percentage values are really useful. Let's evaluate users
feedback and eventually add the percentage
bars later.

Implemented for 6.5 M2.


changeset:   87583:767a33c9a90b
date:        Fri Jul 04 17:58:45 2008 +0200
summary:     Implemented #100662: Tabular version of Thread State information
------- Comment #2 From 2008-07-04 22:19:10 -------
changeset:   87584:f6eeb993d8ef
date:        Fri Jul 04 23:17:35 2008 +0200
summary:     Missing file for #100662 implementation
------- Comment #3 From 2008-07-07 15:42:39 -------
Integrated into 'main-golden', available in NB_Trunk_Production #305 build
Changeset: http://hg.netbeans.org/main/rev/767a33c9a90b
User: Jiri Sedlacek <jis@netbeans.org>
Log: Implemented #100662: Tabular version of Thread State information
------- Comment #4 From 2008-08-07 20:43:56 -------
>I'm not sure if extra columns for percentage values are really useful. 

The use case I was thinking of was an application with a large number of
threads (thousands of threads).  If I want to
see the threads that spent a large percentage of their time in a particular
state, then I need the ability to sort on
percentage.  So for example, if thread A spent 45 seconds of its 2 hour life in
Monitor mode and thread B spent 10
seconds of its 11 second life in Monitor mode when I click the Monitor column,
thread A will always be listed *before*
thread B (when sorted in descending order).

But thread B (and similar threads: short life, but much of it in Monitor mode)
is what I might need to see - because it
spent a large percentage of its time in Monitor mode.  In other words, since
threads can live for such widely varying
amounts of time, the ability to sort just by percentage could be convenient.

>Let's evaluate users feedback 

Agreed.  :-)

>and eventually add the percentage bars later.

I'm not sure I understand this: "percentage bars."  Did you mean "percentage
column"?