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 100662 - Tabular version of Thread State information
Summary: Tabular version of Thread State information
Status: RESOLVED FIXED
Alias: None
Product: profiler
Classification: Unclassified
Component: Base (show other bugs)
Version: 6.x
Hardware: All All
: P3 blocker (vote)
Assignee: issues@profiler
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-04-11 20:00 UTC by _ gsporar
Modified: 2008-08-07 20:43 UTC (History)
0 users

See Also:
Issue Type: ENHANCEMENT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description _ gsporar 2007-04-11 20:00:06 UTC
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 Jiri Sedlacek 2008-07-04 16:59:37 UTC
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 Jiri Sedlacek 2008-07-04 22:19:10 UTC
changeset:   87584:f6eeb993d8ef
date:        Fri Jul 04 23:17:35 2008 +0200
summary:     Missing file for #100662 implementation
Comment 3 Quality Engineering 2008-07-07 15:42:39 UTC
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 _ gsporar 2008-08-07 20:43:56 UTC
>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"?