Author: kkolinko
Date: Sat Dec  6 20:06:15 2014
New Revision: 1643600

URL: http://svn.apache.org/r1643600
Log:
* Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=54143
  1. Add display of memory pools usage (including PermGen) to the Status page
  of the Manager web application.
  
  2. Fix several issues with <code>status.xsd</code> schema in Manager web
  application, testing it against actual output of StatusTransformer
  class. Add the new <memorypool/> element to the schema.

  To test the schema, one can save output of /manager/status?XML=true command 
and
  add the following attributes to the root <status> element:

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
    xsi:noNamespaceSchemaLocation="status.xsd"

  This fixes the following schema issues:
  1) Remove minSpareThreads, maxSpareThreads attributes from schema and XSLT.

  StatusTransformer does not generate them on threadInfo element.

  2) Correct cardinality of <worker/> and <connector/> elements.

  There are 0..inf workers, 1..inf connectors.

  (In theory there are 0..inf connectors, but if one can access the manager
  app then at least one connector is running)

  3) Correct misspelled attribute name, recieved->received.

  There are several code paths in StatusTransformer and one generated
  misspelled name, while others used the correct one. Fixed the java code
  and schema.

  4) Add the new <memorypool/> element to the schema.

  Backport of r1409014, r1453106, r1453119, r1348992 from tomcat/tc7.0.x/trunk
(r1348989,r1409007,r1453105,r1453112 of /tomcat/trunk).

  Justification:
    To be able to monitor PermGen. The necessary APIs (MemoryPoolMXBean)
    are available since Java 5.

Modified:
    tomcat/tc6.0.x/trunk/   (props changed)
    tomcat/tc6.0.x/trunk/STATUS.txt
    tomcat/tc6.0.x/trunk/java/org/apache/catalina/manager/StatusTransformer.java
    tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml
    tomcat/tc6.0.x/trunk/webapps/manager/status.xsd
    tomcat/tc6.0.x/trunk/webapps/manager/xform.xsl

Propchange: tomcat/tc6.0.x/trunk/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Dec  6 20:06:15 2014
@@ -1,3 +1,3 @@
-/tomcat/tc7.0.x/trunk:1224802,1243045,1298635,1304471,1311997,1312007,1331772,1333164,1333176,1354866,1371298,1371302,1371620,1402110,1413553,1413557,1413563,1430083,1438415,1446641-1446660,1447013,1484919,1486877,1500065,1503852,1505844,1513151,1521040,1526470,1536524,1539176-1539177,1544469,1544473,1552805,1558894,1558917,1561368,1561382,1561386,1561552,1561561,1561636,1561641,1561643,1561737,1562748,1564317,1568922,1570163,1577328,1577464-1577465,1578814,1586659,1586897,1586960,1588199,1588997,1589740,1589851,1589997,1590019,1590028,1590337,1590492,1590651,1590838,1590845,1590848,1590912,1593262,1593288,1593371,1593835,1594230,1595174,1595366,1600956,1601333,1601856,1601909,1609079,1609606,1617364,1617374,1617433,1617457-1617458,1624249,1626579,1627420,1627469,1632586,1637686,1637711,1640675,1642045,1643572
+/tomcat/tc7.0.x/trunk:1224802,1243045,1298635,1304471,1311997,1312007,1331772,1333164,1333176,1348992,1354866,1371298,1371302,1371620,1402110,1409014,1413553,1413557,1413563,1430083,1438415,1446641-1446660,1447013,1453106,1453119,1484919,1486877,1500065,1503852,1505844,1513151,1521040,1526470,1536524,1539176-1539177,1544469,1544473,1552805,1558894,1558917,1561368,1561382,1561386,1561552,1561561,1561636,1561641,1561643,1561737,1562748,1564317,1568922,1570163,1577328,1577464-1577465,1578814,1586659,1586897,1586960,1588199,1588997,1589740,1589851,1589997,1590019,1590028,1590337,1590492,1590651,1590838,1590845,1590848,1590912,1593262,1593288,1593371,1593835,1594230,1595174,1595366,1600956,1601333,1601856,1601909,1609079,1609606,1617364,1617374,1617433,1617457-1617458,1624249,1626579,1627420,1627469,1632586,1637686,1637711,1640675,1642045,1643572
 /tomcat/tc8.0.x/trunk:1637685,1637709,1640674,1641730,1643571
-/tomcat/trunk:601180,606992,612607,630314,640888,652744,653247,656018,666232,673796,673820,677910,683969,683982,684001,684081,684234,684269-684270,685177,687503,687645,689402,690781,691392,691805,692748,693378,694992,695053,695311,696780,696782,698012,698227,698236,698613,699427,699634,701355,709294,709811,709816,710063,710066,710125,710205,711126,711600,712461,712467,713953,714002,718360,719119,719124,719602,719626,719628,720046,720069,721040,721286,721708,721886,723404,723738,726052,727303,728032,728768,728947,729057,729567,729569,729571,729681,729809,729815,729934,730250,730590,731651,732859,732863,734734,740675,740684,742677,742697,742714,744160,744238,746321,746384,746425,747834,747863,748344,750258,750291,750921,751286-751287,751289,751295,752323,753039,757335,757774,758249,758365,758596,758616,758664,759074,761601,762868,762929,762936-762937,763166,763183,763193,763228,763262,763298,763302,763325,763599,763611,763654,763681,763706,764985,764997,765662,768335,769979,770716,770
 
809,770876,772872,776921,776924,776935,776945,777464,777466,777576,777625,778379,778523-778524,781528,781779,782145,782791,783316,783696,783724,783756,783762,783766,783863,783934,784453,784602,784614,785381,785688,785768,785859,786468,786487,786490,786496,786667,787627,787770,787985,789389,790405,791041,791184,791194,791224,791243,791326,791328,791789,792740,793372,793757,793882,793981,794082,794673,794822,795043,795152,795210,795457,795466,797168,797425,797596,797607,802727,802940,804462,804544,804734,805153,809131,809603,810916,810977,812125,812137,812432,813001,813013,813866,814180,814708,814876,815972,816252,817442,817822,819339,819361,820110,820132,820874,820954,821397,828196,828201,828210,828225,828759,830378-830379,830999,831106,831774,831785,831828,831850,831860,832214,832218,833121,833545,834047,835036,835336,836405,881396,881412,883130,883134,883146,883165,883177,883362,883565,884341,885038,885231,885241,885260,885901,885991,886019,888072,889363,889606,889716,890139,890265
 
,890349-890350,890417,891185-891187,891583,892198,892341,892415,892464,892555,892812,892814,892817,892843,892887,893321,893493,894580,894586,894805,894831,895013,895045,895057,895191,895392,895703,896370,896384,897380-897381,897776,898126,898256,898468,898527,898555,898558,898718,898836,898906,899284,899348,899420,899653,899769-899770,899783,899788,899792,899916,899918-899919,899935,899949,903916,905020,905151,905722,905728,905735,907311,907513,907538,907652,907819,907825,907864,908002,908721,908754,908759,909097,909206,909212,909525,909636,909869,909875,909887,910266,910370,910442,910471,910485,910974,915226,915737,915861,916097,916141,916157,916170,917598,917633,918093,918489,918594,918684,918787,918792,918799,918803,918885,919851,919914,920025,920055,920298,920449,920596,920824,920840,921444,922010,926716,927062,927621,928482,928695,928732,928798,931709,932357,932967,935105,935983,939491,939551,940064,941356,941463,943112,944409,944416,945231,945808,945835,945841,946686,948057,95
 
0164,950596,950614,950851,950905,951615,953434,954435,955648,955655,956832,957130,957830,958192,960701,961948,962865,962872,962881,962900,963106,963865,963868,964614,966177-966178,966292,966692,966863,981815,988448,991837,993042,1001955,1002185,1002263,1002274,1002349,1002359,1002362,1002481,1002514,1003461,1003481,1003488,1003556,1003572,1003581,1003861,1004393,1004409,1004415,1004868-1004869,1004912,1005452,1005467,1005647,1005802,1022120,1022134,1022323,1022415,1022606,1022623,1024224,1024251,1026042,1026784,1026912,1026920,1029767,1033415,1033448,1033842,1033897,1037715,1037794,1037887,1037924,1038041,1041892,1042022,1042029,1042447,1042452,1042494,1043983,1044944,1044987,1049264,1050249,1055055,1055236,1055458,1055975,1056264,1056828,1056889,1059881,1060486,1061412,1061442,1061446,1061503,1062398,1064652,1066244,1066772,1067039,1067139,1069824,1070139,1070420,1070609,1072042,1073184,1073393,1075458,1076212,1078409,1078412,1079801,1081118,1081334,1088179,1088460,1090022,1094069,
 
1094089,1095138,1097899,1099575,1099586,1099772,1099789,1100145,1100822,1101094,1101144,1124680,1130774,1133014,1137862,1137996,1138950,1138953,1140693,1141104,1141441,1142043,1142904,1143134,1143150,1145137,1148216,1148471,1152601,1156171,1156519,1164567,1167394,1172233-1172234,1172236,1173614,1174353,1174882,1174884,1175158,1175190,1176799,1177125,1177245,1177850,1177862,1178228,1178233,1178684,1181028,1181136,1184917,1184919,1185200,1185588,1186011,1186104,1186123,1186137,1186153,1186378,1186712,1186763,1186949,1187381,1189240,1189386,1190388-1190389,1198622,1201576,1203091,1224801,1233426,1243034,1243038,1244567,1298140,1298628-1298629,1304468,1311997,1331766,1333161,1333173,1342498,1342503,1348425,1348461-1348495,1350294,1351056,1351636-1351640,1352011,1354685,1354847,1354856,1356125,1359981,1371283,1413552,1413556,1413562,1417282,1430079,1430481,1430567,1435606,1435636,1435642,1438411,1439054,1441348,1446640,1446650,1447012,1456666-1456678,1456713,1456721,1457968,1460342,14605
 
33,1484862,1486875,1492570,1494143,1500062,1503851,1505843,1513148-1513149,1526469,1533312,1536520,1539157,1539173,1540374,1552804,1555163,1558811,1561054-1561065,1561067-1561070,1561072-1561075,1561083,1561190-1561192,1561635,1561640,1561732,1562742,1562746,1564309,1564312,1568921,1574004,1577315,1577324,1577463,1578812-1578813,1586658,1586894,1586959,1588193,1588197,1589737-1589738,1589763,1589837,1589842,1589980,1590018,1590302,1590646,1590648,1590835,1590842,1590911,1593259,1593261,1593335,1593834,1594229,1595171,1595289,1597532,1600955,1600963,1600978,1600984,1601329-1601330,1601332,1601855,1608963,1609061,1609593,1617362,1617365,1617383,1617456,1623392,1624247,1626579,1627033,1632584,1637684,1637695,1640655-1640658,1641656,1641660,1641692,1641722,1643570
+/tomcat/trunk:601180,606992,612607,630314,640888,652744,653247,656018,666232,673796,673820,677910,683969,683982,684001,684081,684234,684269-684270,685177,687503,687645,689402,690781,691392,691805,692748,693378,694992,695053,695311,696780,696782,698012,698227,698236,698613,699427,699634,701355,709294,709811,709816,710063,710066,710125,710205,711126,711600,712461,712467,713953,714002,718360,719119,719124,719602,719626,719628,720046,720069,721040,721286,721708,721886,723404,723738,726052,727303,728032,728768,728947,729057,729567,729569,729571,729681,729809,729815,729934,730250,730590,731651,732859,732863,734734,740675,740684,742677,742697,742714,744160,744238,746321,746384,746425,747834,747863,748344,750258,750291,750921,751286-751287,751289,751295,752323,753039,757335,757774,758249,758365,758596,758616,758664,759074,761601,762868,762929,762936-762937,763166,763183,763193,763228,763262,763298,763302,763325,763599,763611,763654,763681,763706,764985,764997,765662,768335,769979,770716,770
 
809,770876,772872,776921,776924,776935,776945,777464,777466,777576,777625,778379,778523-778524,781528,781779,782145,782791,783316,783696,783724,783756,783762,783766,783863,783934,784453,784602,784614,785381,785688,785768,785859,786468,786487,786490,786496,786667,787627,787770,787985,789389,790405,791041,791184,791194,791224,791243,791326,791328,791789,792740,793372,793757,793882,793981,794082,794673,794822,795043,795152,795210,795457,795466,797168,797425,797596,797607,802727,802940,804462,804544,804734,805153,809131,809603,810916,810977,812125,812137,812432,813001,813013,813866,814180,814708,814876,815972,816252,817442,817822,819339,819361,820110,820132,820874,820954,821397,828196,828201,828210,828225,828759,830378-830379,830999,831106,831774,831785,831828,831850,831860,832214,832218,833121,833545,834047,835036,835336,836405,881396,881412,883130,883134,883146,883165,883177,883362,883565,884341,885038,885231,885241,885260,885901,885991,886019,888072,889363,889606,889716,890139,890265
 
,890349-890350,890417,891185-891187,891583,892198,892341,892415,892464,892555,892812,892814,892817,892843,892887,893321,893493,894580,894586,894805,894831,895013,895045,895057,895191,895392,895703,896370,896384,897380-897381,897776,898126,898256,898468,898527,898555,898558,898718,898836,898906,899284,899348,899420,899653,899769-899770,899783,899788,899792,899916,899918-899919,899935,899949,903916,905020,905151,905722,905728,905735,907311,907513,907538,907652,907819,907825,907864,908002,908721,908754,908759,909097,909206,909212,909525,909636,909869,909875,909887,910266,910370,910442,910471,910485,910974,915226,915737,915861,916097,916141,916157,916170,917598,917633,918093,918489,918594,918684,918787,918792,918799,918803,918885,919851,919914,920025,920055,920298,920449,920596,920824,920840,921444,922010,926716,927062,927621,928482,928695,928732,928798,931709,932357,932967,935105,935983,939491,939551,940064,941356,941463,943112,944409,944416,945231,945808,945835,945841,946686,948057,95
 
0164,950596,950614,950851,950905,951615,953434,954435,955648,955655,956832,957130,957830,958192,960701,961948,962865,962872,962881,962900,963106,963865,963868,964614,966177-966178,966292,966692,966863,981815,988448,991837,993042,1001955,1002185,1002263,1002274,1002349,1002359,1002362,1002481,1002514,1003461,1003481,1003488,1003556,1003572,1003581,1003861,1004393,1004409,1004415,1004868-1004869,1004912,1005452,1005467,1005647,1005802,1022120,1022134,1022323,1022415,1022606,1022623,1024224,1024251,1026042,1026784,1026912,1026920,1029767,1033415,1033448,1033842,1033897,1037715,1037794,1037887,1037924,1038041,1041892,1042022,1042029,1042447,1042452,1042494,1043983,1044944,1044987,1049264,1050249,1055055,1055236,1055458,1055975,1056264,1056828,1056889,1059881,1060486,1061412,1061442,1061446,1061503,1062398,1064652,1066244,1066772,1067039,1067139,1069824,1070139,1070420,1070609,1072042,1073184,1073393,1075458,1076212,1078409,1078412,1079801,1081118,1081334,1088179,1088460,1090022,1094069,
 
1094089,1095138,1097899,1099575,1099586,1099772,1099789,1100145,1100822,1101094,1101144,1124680,1130774,1133014,1137862,1137996,1138950,1138953,1140693,1141104,1141441,1142043,1142904,1143134,1143150,1145137,1148216,1148471,1152601,1156171,1156519,1164567,1167394,1172233-1172234,1172236,1173614,1174353,1174882,1174884,1175158,1175190,1176799,1177125,1177245,1177850,1177862,1178228,1178233,1178684,1181028,1181136,1184917,1184919,1185200,1185588,1186011,1186104,1186123,1186137,1186153,1186378,1186712,1186763,1186949,1187381,1189240,1189386,1190388-1190389,1198622,1201576,1203091,1224801,1233426,1243034,1243038,1244567,1298140,1298628-1298629,1304468,1311997,1331766,1333161,1333173,1342498,1342503,1348425,1348461-1348495,1348989,1350294,1351056,1351636-1351640,1352011,1354685,1354847,1354856,1356125,1359981,1371283,1409007,1413552,1413556,1413562,1417282,1430079,1430481,1430567,1435606,1435636,1435642,1438411,1439054,1441348,1446640,1446650,1447012,1453105,1453112,1456666-1456678,14567
 
13,1456721,1457968,1460342,1460533,1484862,1486875,1492570,1494143,1500062,1503851,1505843,1513148-1513149,1526469,1533312,1536520,1539157,1539173,1540374,1552804,1555163,1558811,1561054-1561065,1561067-1561070,1561072-1561075,1561083,1561190-1561192,1561635,1561640,1561732,1562742,1562746,1564309,1564312,1568921,1574004,1577315,1577324,1577463,1578812-1578813,1586658,1586894,1586959,1588193,1588197,1589737-1589738,1589763,1589837,1589842,1589980,1590018,1590302,1590646,1590648,1590835,1590842,1590911,1593259,1593261,1593335,1593834,1594229,1595171,1595289,1597532,1600955,1600963,1600978,1600984,1601329-1601330,1601332,1601855,1608963,1609061,1609593,1617362,1617365,1617383,1617456,1623392,1624247,1626579,1627033,1632584,1637684,1637695,1640655-1640658,1641656,1641660,1641692,1641722,1643570

Modified: tomcat/tc6.0.x/trunk/STATUS.txt
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=1643600&r1=1643599&r2=1643600&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/STATUS.txt (original)
+++ tomcat/tc6.0.x/trunk/STATUS.txt Sat Dec  6 20:06:15 2014
@@ -28,50 +28,6 @@ None
 PATCHES PROPOSED TO BACKPORT:
   [ New proposals should be added at the end of the list ]
 
-* Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=54143
-  1. Add display of memory pools usage (including PermGen) to the Status page
-  of the Manager web application.
-  
-  2. Fix several issues with <code>status.xsd</code> schema in Manager web
-  application, testing it against actual output of StatusTransformer
-  class. Add the new <memorypool/> element to the schema.
-
-  To test the schema, one can save output of /manager/status?XML=true command 
and
-  add the following attributes to the root <status> element:
-
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-    xsi:noNamespaceSchemaLocation="status.xsd"
-
-  This fixes the following schema issues:
-  1) Remove minSpareThreads, maxSpareThreads attributes from schema and XSLT.
-
-  StatusTransformer does not generate them on threadInfo element.
-
-  2) Correct cardinality of <worker/> and <connector/> elements.
-
-  There are 0..inf workers, 1..inf connectors.
-
-  (In theory there are 0..inf connectors, but if one can access the manager
-  app then at least one connector is running)
-
-  3) Correct misspelled attribute name, recieved->received.
-
-  There are several code paths in StatusTransformer and one generated
-  misspelled name, while others used the correct one. Fixed the java code
-  and schema.
-
-  4) Add the new <memorypool/> element to the schema.
-
-  Backport of r1409014, r1453106, r1453119, r1348992 from tomcat/tc7.0.x/trunk.
-
-  Justification:
-    To be able to monitor PermGen. The necessary APIs (MemoryPoolMXBean)
-    are available since Java 5.
-
-  https://issues.apache.org/bugzilla/attachment.cgi?id=32252
-  +1: kkolinko, remm, rjung
-  -1:
-
 * Add addConnectorPort() to RemoteAddrValve and RemoteHostValve.
   Partial backports of r1642564,1642606 (trunk) resp.  r1643513,1643539 (tc8)
   resp. r1643515,1643540 (tc7).

Modified: 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/manager/StatusTransformer.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/manager/StatusTransformer.java?rev=1643600&r1=1643599&r2=1643600&view=diff
==============================================================================
--- 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/manager/StatusTransformer.java 
(original)
+++ 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/manager/StatusTransformer.java 
Sat Dec  6 20:06:15 2014
@@ -18,20 +18,23 @@
 
 package org.apache.catalina.manager;
 
-import java.io.IOException;
 import java.io.PrintWriter;
+import java.lang.management.ManagementFactory;
+import java.lang.management.MemoryPoolMXBean;
+import java.lang.management.MemoryUsage;
 import java.lang.reflect.Method;
 import java.text.MessageFormat;
 import java.util.Date;
 import java.util.Enumeration;
 import java.util.Iterator;
 import java.util.Set;
+import java.util.SortedMap;
+import java.util.TreeMap;
 import java.util.Vector;
 
 import javax.management.MBeanServer;
 import javax.management.ObjectInstance;
 import javax.management.ObjectName;
-import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletResponse;
 
 import org.apache.catalina.util.RequestUtil;
@@ -191,6 +194,13 @@ public class StatusTransformer {
     public static void writeVMState(PrintWriter writer, int mode)
         throws Exception {
 
+        SortedMap<String, MemoryPoolMXBean> memoryPoolMBeans =
+                new TreeMap<String, MemoryPoolMXBean>();
+        for (MemoryPoolMXBean mbean: ManagementFactory.getMemoryPoolMXBeans()) 
{
+            String sortKey = mbean.getType() + ":" + mbean.getName();
+            memoryPoolMBeans.put(sortKey, mbean);
+        }
+
         if (mode == 0){
             writer.print("<h1>JVM</h1>");
 
@@ -205,6 +215,29 @@ public class StatusTransformer {
             writer.print(formatSize
                          (new Long(Runtime.getRuntime().maxMemory()), true));
             writer.print("</p>");
+
+            writer.write("<table border=\"0\"><thead><tr><th>Memory 
Pool</th><th>Type</th><th>Initial</th><th>Total</th><th>Maximum</th><th>Used</th></tr></thead><tbody>");
+            for (MemoryPoolMXBean memoryPoolMBean : memoryPoolMBeans.values()) 
{
+                MemoryUsage usage = memoryPoolMBean.getUsage();
+                writer.write("<tr><td>");
+                writer.print(memoryPoolMBean.getName());
+                writer.write("</td><td>");
+                writer.print(memoryPoolMBean.getType());
+                writer.write("</td><td>");
+                writer.print(formatSize(Long.valueOf(usage.getInit()), true));
+                writer.write("</td><td>");
+                writer.print(formatSize(Long.valueOf(usage.getCommitted()), 
true));
+                writer.write("</td><td>");
+                writer.print(formatSize(Long.valueOf(usage.getMax()), true));
+                writer.write("</td><td>");
+                writer.print(formatSize(Long.valueOf(usage.getUsed()), true));
+                if (usage.getMax() > 0) {
+                    writer.write(" ("
+                            + (usage.getUsed() * 100 / usage.getMax()) + "%)");
+                }
+                writer.write("</td></tr>");
+            }
+            writer.write("</tbody></table>");
         } else if (mode == 1){
             writer.write("<jvm>");
 
@@ -213,6 +246,17 @@ public class StatusTransformer {
             writer.write(" total='" + Runtime.getRuntime().totalMemory() + 
"'");
             writer.write(" max='" + Runtime.getRuntime().maxMemory() + "'/>");
 
+            for (MemoryPoolMXBean memoryPoolMBean : memoryPoolMBeans.values()) 
{
+                MemoryUsage usage = memoryPoolMBean.getUsage();
+                writer.write("<memorypool");
+                writer.write(" name='" + memoryPoolMBean.getName() + "'");
+                writer.write(" type='" + memoryPoolMBean.getType() + "'");
+                writer.write(" usageInit='" + usage.getInit() + "'");
+                writer.write(" usageCommitted='" + usage.getCommitted() + "'");
+                writer.write(" usageMax='" + usage.getMax() + "'");
+                writer.write(" usageUsed='" + usage.getUsed() + "'/>");
+            }
+
             writer.write("</jvm>");
         }
 
@@ -520,7 +564,7 @@ public class StatusTransformer {
             } else {
                 writer.write(" requestProcessingTime=\"0\"");
                 writer.write(" requestBytesSent=\"0\"");
-                writer.write(" requestBytesRecieved=\"0\"");
+                writer.write(" requestBytesReceived=\"0\"");
                 writer.write(" remoteAddr=\"&#63;\"");
                 writer.write(" virtualHost=\"&#63;\"");
                 writer.write(" method=\"&#63;\"");

Modified: tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml?rev=1643600&r1=1643599&r2=1643600&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml Sat Dec  6 20:06:15 2014
@@ -71,6 +71,15 @@
         Improve Tomcat Manager documentation. Rearrange, add section on
         HTML GUI, document Server Status page. (kkolinko)
       </update>
+      <add>
+        <bug>54143</bug>: Add display of the memory pools usage (including
+        PermGen) to the Status page of the Manager web application. (kkolinko)
+      </add>
+      <fix>
+        Fix several issues with <code>status.xsd</code> schema in Manager web
+        application, testing it against actual output of StatusTransformer
+        class. (kkolinko)
+      </fix>
     </changelog>
   </subsection>
 </section>

Modified: tomcat/tc6.0.x/trunk/webapps/manager/status.xsd
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/manager/status.xsd?rev=1643600&r1=1643599&r2=1643600&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/webapps/manager/status.xsd (original)
+++ tomcat/tc6.0.x/trunk/webapps/manager/status.xsd Sat Dec  6 20:06:15 2014
@@ -15,9 +15,15 @@
   See the License for the specific language governing permissions and
   limitations under the License.
 -->
-<!-- edited with XMLSPY v5 rel. 4 U (http://www.xmlspy.com) by peter lin 
(consultant) -->
-<!--W3C Schema generated by XMLSPY v5 rel. 4 U (http://www.xmlspy.com)-->
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"; 
elementFormDefault="qualified">
+    <xs:element name="status">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element name="jvm" type="jvm"/>
+                <xs:element name="connector" type="connector" minOccurs="1" 
maxOccurs="unbounded"/>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
     <xs:complexType name="connector">
         <xs:sequence>
             <xs:element name="threadInfo" type="threadInfo"/>
@@ -29,6 +35,7 @@
     <xs:complexType name="jvm">
         <xs:sequence>
             <xs:element name="memory" type="memory"/>
+            <xs:element name="memorypool" type="memorypool" minOccurs="0" 
maxOccurs="unbounded"/>
         </xs:sequence>
     </xs:complexType>
     <xs:complexType name="memory">
@@ -36,6 +43,14 @@
         <xs:attribute name="total" type="xs:long" use="required"/>
         <xs:attribute name="max" type="xs:long" use="required"/>
     </xs:complexType>
+    <xs:complexType name="memorypool">
+        <xs:attribute name="name" type="xs:string" use="required"/>
+        <xs:attribute name="type" type="xs:string" use="required"/>
+        <xs:attribute name="usageInit" type="xs:long" use="required"/>
+        <xs:attribute name="usageCommitted" type="xs:long" use="required"/>
+        <xs:attribute name="usageMax" type="xs:long" use="required"/>
+        <xs:attribute name="usageUsed" type="xs:long" use="required"/>
+    </xs:complexType>
     <xs:complexType name="requestInfo">
         <xs:attribute name="maxTime" type="xs:long" use="required"/>
         <xs:attribute name="processingTime" type="xs:int" use="required"/>
@@ -44,18 +59,8 @@
         <xs:attribute name="bytesReceived" type="xs:long" use="required"/>
         <xs:attribute name="bytesSent" type="xs:long" use="required"/>
     </xs:complexType>
-    <xs:element name="status">
-        <xs:complexType>
-            <xs:sequence>
-                <xs:element name="jvm" type="jvm"/>
-                <xs:element name="connector" type="connector"/>
-            </xs:sequence>
-        </xs:complexType>
-    </xs:element>
     <xs:complexType name="threadInfo">
         <xs:attribute name="maxThreads" type="xs:int" use="required"/>
-        <xs:attribute name="minSpareThreads" type="xs:int" use="required"/>
-        <xs:attribute name="maxSpareThreads" type="xs:int" use="required"/>
         <xs:attribute name="currentThreadCount" type="xs:int" use="required"/>
         <xs:attribute name="currentThreadsBusy" type="xs:int" use="required"/>
     </xs:complexType>
@@ -63,7 +68,7 @@
         <xs:attribute name="stage" type="xs:string" use="required"/>
         <xs:attribute name="requestProcessingTime" type="xs:int" 
use="required"/>
         <xs:attribute name="requestBytesSent" type="xs:long" use="required"/>
-        <xs:attribute name="requestBytesRecieved" type="xs:long" 
use="required"/>
+        <xs:attribute name="requestBytesReceived" type="xs:long" 
use="required"/>
         <xs:attribute name="remoteAddr" type="xs:string" use="required"/>
         <xs:attribute name="virtualHost" type="xs:string" use="required"/>
         <xs:attribute name="method" type="xs:string" use="required"/>
@@ -73,7 +78,7 @@
     </xs:complexType>
     <xs:complexType name="workers">
         <xs:sequence>
-            <xs:element name="worker" type="worker"/>
+            <xs:element name="worker" type="worker" minOccurs="0" 
maxOccurs="unbounded"/>
         </xs:sequence>
     </xs:complexType>
 </xs:schema>

Modified: tomcat/tc6.0.x/trunk/webapps/manager/xform.xsl
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/manager/xform.xsl?rev=1643600&r1=1643599&r2=1643600&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/webapps/manager/xform.xsl (original)
+++ tomcat/tc6.0.x/trunk/webapps/manager/xform.xsl Sat Dec  6 20:06:15 2014
@@ -44,6 +44,9 @@
 
   <xsl:template match="jvm">
    <xsl:apply-templates select="memory"/>
+   <b>Memory Pools</b><br />
+   <xsl:apply-templates select="memorypool"/>
+   <hr />
   </xsl:template>
 
   <xsl:template match="memory">
@@ -56,6 +59,18 @@
     </table><hr />
   </xsl:template>
 
+  <xsl:template match="memorypool">
+    <table><tr>
+             <td><b>Name:</b> <xsl:value-of select="@name"/></td>
+             <td><b>Type:</b> <xsl:value-of select="@type"/></td>
+             <td><b>Initial:</b> <xsl:value-of select="@usageInit"/></td>
+             <td><b>Committed:</b> <xsl:value-of 
select="@usageCommitted"/></td>
+             <td><b>Maximum:</b> <xsl:value-of select="@usageMax"/></td>
+             <td><b>Used:</b> <xsl:value-of select="@usageUsed"/></td>
+           </tr>
+    </table>
+  </xsl:template>
+
   <xsl:template match="connector">
      <b>Connector -- </b> <xsl:value-of select="@name"/><br />
 
@@ -66,10 +81,8 @@
 
   <xsl:template match="threadInfo">
     <table><tr>
-             <td><b>threadInfo </b></td>
+             <td><b>threadInfo</b></td>
              <td><b>maxThreads:</b> <xsl:value-of select="@maxThreads"/></td>
-             <td><b>minSpareThreads:</b> <xsl:value-of 
select="@minSpareThreads"/></td>
-             <td><b>maxSpareThreads:</b> <xsl:value-of 
select="@maxSpareThreads"/></td>
              <td><b>currentThreadCount:</b> <xsl:value-of 
select="@currentThreadCount"/></td>
              <td><b>currentThreadsBusy:</b> <xsl:value-of 
select="@currentThreadsBusy"/></td>
            </tr>



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to