Bug 50617 - Monitor Results legend show "dead" server although values from the server are retrieved
Summary: Monitor Results legend show "dead" server although values from the server are...
Alias: None
Product: JMeter
Classification: Unclassified
Component: Main (show other bugs)
Version: 2.5
Hardware: All All
: P2 normal (vote)
Target Milestone: ---
Assignee: JMeter issues mailing list
Depends on:
Reported: 2011-01-19 08:42 UTC by danimni
Modified: 2011-09-19 00:31 UTC (History)
2 users (show)

Screenshot of my issue (60.01 KB, image/png)
2011-01-19 08:42 UTC, danimni
Fix to the issue (840 bytes, patch)
2011-09-18 21:00 UTC, Philippe Mouawad
Details | Diff
Test plan that shows the issue (9.25 KB, application/xml)
2011-09-18 21:04 UTC, Philippe Mouawad

Note You need to log in before you can comment on or make changes to this bug.
Description danimni 2011-01-19 08:42:10 UTC
Created attachment 26515 [details]
Screenshot of my issue

My configuration:
Jboss as the app server

My Steps:
1. Created 'Monitor Results' as explain it the manual. Since i am working with jboss, the URL for the data is 'http://<IP>:8080/status?XML=true'
2. ran the test
3. look the 'Monitor Results'

There are two tabs:
'Health' tab and 'Performance' tab.
The 'Health' tab shows the server name and besides it, a black dot, indicating "Dead" server. On the other hand, the left pane is active. It shows the load colours from green to red. In my case, it changes from green to yellow and vice versa.

The 'Performance' tab shows the following graphs:
Load, Memory and Thread. The 'Health' green line is not drawn.

see attached file - 'Bug Screenshot.png'
Comment 1 Philippe Mouawad 2011-09-18 21:00:44 UTC
Created attachment 27529 [details]
Fix to the issue

Issue was due to the fact that if cntr.getThreadInfo().getCurrentThreadsBusy() returns 0, the server is considered as dead because we enter last condition:
            int max = cntr.getThreadInfo().getMaxThreads();
            int current = cntr.getThreadInfo().getCurrentThreadsBusy();
            // int spare = cntr.getThreadInfo().getMaxSpareThreads();
            double per = (double) current / (double) max;
            if (per > WARNING_PER) {
                return WARNING;
            } else if (per >= ACTIVE_PER && per <= WARNING_PER) {
                return ACTIVE;
            } else if (per < ACTIVE_PER && per > HEALTHY_PER) {
                return HEALTHY;
            } else {
                return DEAD;

This case can happen if for example, connectorPrefix is set to http-8443 while load test is on port 8080, then first connector will really have 0 busy threads but it will be alive.

Comment 2 Philippe Mouawad 2011-09-18 21:04:03 UTC
Created attachment 27530 [details]
Test plan that shows the issue

In this example I monitor http-8443 and see it reproduces the bug mentionned.
Comment 3 Sebb 2011-09-19 00:31:14 UTC
Thanks, applied:

URL: http://svn.apache.org/viewvc?rev=1172398&view=rev
Bug 50617 - Monitor Results legend show "dead" server although values from the server are retrieved