You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
.append((int) (waiting / (threadCount / 100.0))).append("% of all threads are waiting for a monitor to become available again.</p><br>");
65
70
statData.append("This might indicate a congestion or even a deadlock. If a monitor doesn't have a locking thread, it might be<br>");
66
-
statData.append("hold by some external resource or system thread. You should check the <a href=\"wait://\">waiting threads</a>.<br></td></tr>");
71
+
statData.append("hold by some external resource or system thread. You should check the <a style=\"color: ").append(linkColor).append(";\"href=\"wait://\">waiting threads</a>.<br></td></tr>");
"><p>The JVM has detected " + deadlocks + " deadlock(s) in the thread dump. You should check the <br><a href=\"dead://\">deadlocks</a> for further information.</p><br>");
74
+
statData.append("<tr bgcolor=\"").append(altRowColor).append("\"><td colspan=2><font face=System color=\"").append(textColor).append("\"><p>The JVM has detected ")
75
+
.append(deadlocks).append(" deadlock(s) in the thread dump. You should check the <br><a style=\"color: ").append(linkColor).append(";\" href=\"dead://\">deadlocks</a> for further information.</p><br>");
71
76
}
72
77
73
78
// check if a lot of threads are in state "waiting"
.append((int) (sleeping / (threadCount / 100.0))).append("% of all threads are sleeping on a monitor.</p><br>");
78
83
statData.append("This might indicate they are waiting for some external resource (e.g. database) which is overloaded<br>");
79
84
statData.append("or not available or are just waiting to get to do something (idle threads).<br>");
80
-
statData.append("You should check the <a href=\"sleep://\">sleeping threads</a> with a filter excluding all idle threads.</td></tr>");
85
+
statData.append("You should check the <a style=\"color: ").append(linkColor).append(";\"href=\"sleep://\">sleeping threads</a> with a filter excluding all idle threads.</td></tr>");
81
86
}
82
87
83
88
// display an info if there are monitors without locking threads
.append((int) (overallThreadsWaitingWithoutLocks / (threadCount / 100.0))).append("% of all threads are waiting for a monitor without a application ");
97
101
statData.append("thread holding it.<br> This indicates a congestion. It is very likely the garbage collector is running ");
98
102
statData.append("and is blocking the monitors.</p<br>");
99
103
statData.append("You should check the monitors without locking threads for more information on the blocked threads.<br>");
100
104
statData.append("You also should analyze the garbage collector behaviour. Go to the ");
101
-
statData.append("<a href=\"http://www.tagtraum.com/gcviewer.html\">GCViewer-Homepage</a> for more<br>");
105
+
statData.append("<a style=\"color: ").append(linkColor).append(";\"href=\"http://www.tagtraum.com/gcviewer.html\">GCViewer-Homepage</a> for more<br>");
102
106
statData.append(" information on how to do this.</td></tr>");
0 commit comments