ASF Bugzilla – Attachment 36125 Details for
Bug 62666
More tomcat localization for ServerStatus page
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
patch for tomcat 9
patch.diff (text/plain), 19.56 KB, created by
Artem Chebykin
on 2018-08-31 06:25:07 UTC
(
hide
)
Description:
patch for tomcat 9
Filename:
MIME Type:
Creator:
Artem Chebykin
Created:
2018-08-31 06:25:07 UTC
Size:
19.56 KB
patch
obsolete
>Index: java/org/apache/catalina/manager/LocalStrings.properties >=================================================================== >--- java/org/apache/catalina/manager/LocalStrings.properties (revision 1838517) >+++ java/org/apache/catalina/manager/LocalStrings.properties (working copy) >@@ -136,3 +136,38 @@ > managerServlet.vminfo=OK - VM info > statusServlet.title=Server Status > statusServlet.complete=Complete Server Status >+htmlManagerServlet.osPhysicalMemory=Physical memory: >+htmlManagerServlet.osAvailableMemory=Available memory: >+htmlManagerServlet.osTotalPageFile=Total page file: >+htmlManagerServlet.osFreePageFile=Free page file: >+htmlManagerServlet.osMemoryLoad=Memory load: >+htmlManagerServlet.osKernelTime=Process kernel time: >+htmlManagerServlet.osUserTime=Process user time: >+htmlManagerServlet.jvmFreeMemory=Free Memory: >+htmlManagerServlet.jvmMaxMemory=Max Memory: >+htmlManagerServlet.jvmTotalMemory=Total Memory: >+htmlManagerServlet.jvmTableTitleMemoryPool=Memory Pool >+htmlManagerServlet.jvmTableTitleType=Type >+htmlManagerServlet.jvmTableTitleInitial=Initial >+htmlManagerServlet.jvmTableTitleTotal=Total >+htmlManagerServlet.jvmTableTitleMaximum=Maximum >+htmlManagerServlet.jvmTableTitleUsed=Used >+htmlManagerServlet.connectorStateMaxThreads=Max threads: >+htmlManagerServlet.connectorStateThreadCount=Current thread count: >+htmlManagerServlet.connectorStateThreadBusy=Current thread busy: >+htmlManagerServlet.connectorStateAliveSocketCount=Keep alive sockets count: >+htmlManagerServlet.connectorStateMaxProcessingTime=Max processing time: >+htmlManagerServlet.connectorStateProcessingTime=Processing time: >+htmlManagerServlet.connectorStateRequestCount=Request count: >+htmlManagerServlet.connectorStateErrorCount=Error count: >+htmlManagerServlet.connectorStateBytesRecieved=Bytes received: >+htmlManagerServlet.connectorStateBytesSent=Bytes sent: >+htmlManagerServlet.connectorStateTableTittleStage=Stage >+htmlManagerServlet.connectorStateTableTittleTime=Time >+htmlManagerServlet.connectorStateTableTittleBSent=B Sent >+htmlManagerServlet.connectorStateTableTittleBRecv=B Recv >+htmlManagerServlet.connectorStateTableTittleClientForw=Client (Forwarded) >+htmlManagerServlet.connectorStateTableTittleClientAct=Client (Actual) >+htmlManagerServlet.connectorStateTableTittleVHost=VHost >+htmlManagerServlet.connectorStateTableTittleRequest=Request >+htmlManagerServlet.connectorStateHint=P: Parse and prepare request S: Service F: Finishing R: Ready K: Keepalive >Index: java/org/apache/catalina/manager/LocalStrings_ru.properties >=================================================================== >--- java/org/apache/catalina/manager/LocalStrings_ru.properties (revision 1838517) >+++ java/org/apache/catalina/manager/LocalStrings_ru.properties (working copy) >@@ -136,3 +136,38 @@ > managerServlet.vminfo=OK - VM инÑо > statusServlet.title=СоÑÑоÑние ÑеÑвеÑа > statusServlet.complete=СоÑÑоÑние ÑеÑвеÑа >+htmlManagerServlet.osPhysicalMemory=\u0424\u0438\u0437\u0438\u0447\u0435\u0441\u043A\u0430\u044F \u043F\u0430\u043C\u044F\u0442\u044C: >+htmlManagerServlet.osAvailableMemory=\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u0430\u044F \u043F\u0430\u043C\u044F\u0442\u044C: >+htmlManagerServlet.osTotalPageFile=\u0412\u0441\u0435\u0433\u043E \u0444\u0430\u0439\u043B\u043E\u0432\u044B\u0445 \u0441\u0442\u0440\u0430\u043D\u0438\u0446: >+htmlManagerServlet.osFreePageFile=\u0421\u0432\u043E\u0431\u043E\u0434\u043D\u044B\u0435 \u0444\u0430\u0439\u043B\u043E\u0432\u044B\u0435 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B: >+htmlManagerServlet.osMemoryLoad=\u041F\u0430\u043C\u044F\u0442\u0438 \u0417\u0430\u0433\u0440\u0443\u0436\u0435\u043D\u043E: >+htmlManagerServlet.osKernelTime=\u0412\u0440\u0435\u043C\u044F \u041E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0438 \u043F\u0440\u043E\u0446\u0435\u0441\u0441\u0430 \u044F\u0434\u0440\u043E\u043C: >+htmlManagerServlet.osUserTime=\u0412\u0440\u0435\u043C\u044F \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0438 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F: >+htmlManagerServlet.jvmFreeMemory=\u0421\u0432\u043E\u0431\u043E\u0434\u043D\u0430\u044F \u041F\u0430\u043C\u044F\u0442\u044C: >+htmlManagerServlet.jvmMaxMemory=\u041C\u0430\u043A\u0441\u0438\u043C\u0443\u043C \u043F\u0430\u043C\u044F\u0442\u0438: >+htmlManagerServlet.jvmTotalMemory=\u0412\u0441\u044F \u043F\u0430\u043C\u044F\u0442\u044C: >+htmlManagerServlet.jvmTableTitleMemoryPool=\u041E\u0431\u043B\u0430\u0441\u0442\u0438 \u043F\u0430\u043C\u044F\u0442\u0438 >+htmlManagerServlet.jvmTableTitleType=\u0422\u0438\u043F >+htmlManagerServlet.jvmTableTitleInitial=\u0418\u0437\u043D\u0430\u0447\u0430\u043B\u044C\u043D\u043E >+htmlManagerServlet.jvmTableTitleTotal=\u0412\u0441\u0435\u0433\u043E >+htmlManagerServlet.jvmTableTitleMaximum=\u041C\u0430\u043A\u0441\u0438\u043C\u0443\u043C >+htmlManagerServlet.jvmTableTitleUsed=\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442\u0441\u044F >+htmlManagerServlet.connectorStateMaxThreads=\u041C\u0430\u043A\u0441\u0438\u043C\u0443\u043C \u043F\u0440\u043E\u0446\u0435\u0441\u0441\u043E\u0432: >+htmlManagerServlet.connectorStateThreadCount=\u041D\u044B\u043D\u0435\u0448\u043D\u0435\u0435 \u0447\u0438\u0441\u043B\u043E \u043F\u0440\u043E\u0446\u0435\u0441\u0441\u043E\u0432: >+htmlManagerServlet.connectorStateThreadBusy=\u041D\u044B\u043D\u0435\u0448\u043D\u0435\u0435 \u0447\u0438\u0441\u043B\u043E \u0437\u0430\u043D\u044F\u0442\u044B\u0445 \u043F\u0440\u043E\u0446\u0435\u0441\u0441\u043E\u0432: >+htmlManagerServlet.connectorStateAliveSocketCount=\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0432\u0441\u0451 \u0435\u0449\u0451 \u0436\u0438\u0432\u044B\u0445 \u0441\u043E\u043A\u0435\u0442\u043E\u0432: >+htmlManagerServlet.connectorStateMaxProcessingTime=\u041C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0435 \u043F\u0440\u043E\u0446\u0435\u0441\u0441\u043E\u0440\u043D\u043E\u0435 \u0432\u0440\u0435\u043C\u044F: >+htmlManagerServlet.connectorStateProcessingTime=\u041F\u0440\u043E\u0446\u0435\u0441\u0441\u043E\u0440\u043D\u043E\u0435 \u0432\u0440\u0435\u043C\u044F: >+htmlManagerServlet.connectorStateRequestCount=\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u043E\u0432: >+htmlManagerServlet.connectorStateErrorCount=\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u043E\u0448\u0438\u0431\u043E\u043A: >+htmlManagerServlet.connectorStateBytesRecieved=\u0411\u0430\u0439\u0442\u043E\u0432 \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u043E: >+htmlManagerServlet.connectorStateBytesSent=\u0411\u0430\u0439\u0442\u043E\u0432 \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043E: >+htmlManagerServlet.connectorStateTableTittleStage=\u042D\u0442\u0430\u043F >+htmlManagerServlet.connectorStateTableTittleTime=\u0412\u0440\u0435\u043C\u044F >+htmlManagerServlet.connectorStateTableTittleBSent=\u0411 \u041E\u0442\u043F\u0440\u0432\u043B\u0435\u043D\u043E >+htmlManagerServlet.connectorStateTableTittleBRecv=\u0411 \u041F\u043E\u043B\u0443\u0447\u0435\u043D\u043E >+htmlManagerServlet.connectorStateTableTittleClientForw=\u041A\u043B\u0438\u0435\u043D\u0442 (\u041E\u0442\u043E\u0441\u043B\u0430\u043D\u044B\u0439) >+htmlManagerServlet.connectorStateTableTittleClientAct=\u041A\u043B\u0438\u0435\u043D\u0442 (\u041D\u0430\u0441\u0442\u043E\u044F\u0449\u0438\u0439) >+htmlManagerServlet.connectorStateTableTittleVHost=\u0412\u0425\u043E\u0441\u0442 >+htmlManagerServlet.connectorStateTableTittleRequest=\u0417\u0430\u043F\u0440\u043E\u0441\u044B >+htmlManagerServlet.connectorStateHint=P: \u0420\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044F \u0438 \u0433\u043E\u0442\u043E\u0432\u0438\u0442\u0441\u044F \u043A \u043E\u0442\u043F\u0440\u0430\u0432\u043A\u0438 S: \u0421\u0435\u0440\u0432\u0438\u0441 F: \u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u0435 R: \u0413\u043E\u0442\u043E\u0432 K: \u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0430\u0435\u0442 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043E\u0432\u0430\u0442\u044C >Index: java/org/apache/catalina/manager/StatusManagerServlet.java >=================================================================== >--- java/org/apache/catalina/manager/StatusManagerServlet.java (revision 1838517) >+++ java/org/apache/catalina/manager/StatusManagerServlet.java (working copy) >@@ -283,20 +283,59 @@ > try { > > // Display operating system statistics using APR if available >- StatusTransformer.writeOSState(writer,mode); >+ args = new Object[7]; >+ args[0] = sm.getString("htmlManagerServlet.osPhysicalMemory"); >+ args[1] = sm.getString("htmlManagerServlet.osAvailableMemory"); >+ args[2] = sm.getString("htmlManagerServlet.osTotalPageFile"); >+ args[3] = sm.getString("htmlManagerServlet.osFreePageFile"); >+ args[4] = sm.getString("htmlManagerServlet.osMemoryLoad"); >+ args[5] = sm.getString("htmlManagerServlet.osKernelTime"); >+ args[6] = sm.getString("htmlManagerServlet.osUserTime"); >+ StatusTransformer.writeOSState(writer, mode, args); > > // Display virtual machine statistics >- StatusTransformer.writeVMState(writer,mode); >+ args = new Object[9]; >+ args[0] = sm.getString("htmlManagerServlet.jvmFreeMemory"); >+ args[1] = sm.getString("htmlManagerServlet.jvmTotalMemory"); >+ args[2] = sm.getString("htmlManagerServlet.jvmMaxMemory"); >+ args[3] = sm.getString("htmlManagerServlet.jvmTableTitleMemoryPool"); >+ args[4] = sm.getString("htmlManagerServlet.jvmTableTitleType"); >+ args[5] = sm.getString("htmlManagerServlet.jvmTableTitleInitial"); >+ args[6] = sm.getString("htmlManagerServlet.jvmTableTitleTotal"); >+ args[7] = sm.getString("htmlManagerServlet.jvmTableTitleMaximum"); >+ args[8] = sm.getString("htmlManagerServlet.jvmTableTitleUsed"); >+ // use StatusTransformer to output status >+ StatusTransformer.writeVMState(writer,mode, args); > > Enumeration<ObjectName> enumeration = threadPools.elements(); > while (enumeration.hasMoreElements()) { > ObjectName objectName = enumeration.nextElement(); > String name = objectName.getKeyProperty("name"); >+ args = new Object[19]; >+ args[0] = sm.getString("htmlManagerServlet.connectorStateMaxThreads"); >+ args[1] = sm.getString("htmlManagerServlet.connectorStateThreadCount"); >+ args[2] = sm.getString("htmlManagerServlet.connectorStateThreadBusy"); >+ args[3] = sm.getString("htmlManagerServlet.connectorStateAliveSocketCount"); >+ args[4] = sm.getString("htmlManagerServlet.connectorStateMaxProcessingTime"); >+ args[5] = sm.getString("htmlManagerServlet.connectorStateProcessingTime"); >+ args[6] = sm.getString("htmlManagerServlet.connectorStateRequestCount"); >+ args[7] = sm.getString("htmlManagerServlet.connectorStateErrorCount"); >+ args[8] = sm.getString("htmlManagerServlet.connectorStateBytesRecieved"); >+ args[9] = sm.getString("htmlManagerServlet.connectorStateBytesSent"); >+ args[10] = sm.getString("htmlManagerServlet.connectorStateTableTittleStage"); >+ args[11] = sm.getString("htmlManagerServlet.connectorStateTableTittleTime"); >+ args[12] = sm.getString("htmlManagerServlet.connectorStateTableTittleBSent"); >+ args[13] = sm.getString("htmlManagerServlet.connectorStateTableTittleBRecv"); >+ args[14] = sm.getString("htmlManagerServlet.connectorStateTableTittleClientForw"); >+ args[15] = sm.getString("htmlManagerServlet.connectorStateTableTittleClientAct"); >+ args[16] = sm.getString("htmlManagerServlet.connectorStateTableTittleVHost"); >+ args[17] = sm.getString("htmlManagerServlet.connectorStateTableTittleRequest"); >+ args[18] = sm.getString("htmlManagerServlet.connectorStateHint"); > // use StatusTransformer to output status > StatusTransformer.writeConnectorState > (writer, objectName, > name, mBeanServer, globalRequestProcessors, >- requestProcessors, mode); >+ requestProcessors, mode, args); > } > > if ((request.getPathInfo() != null) >Index: java/org/apache/catalina/manager/StatusTransformer.java >=================================================================== >--- java/org/apache/catalina/manager/StatusTransformer.java (revision 1838517) >+++ java/org/apache/catalina/manager/StatusTransformer.java (working copy) >@@ -149,7 +149,7 @@ > * @param mode Mode <code>0</code> will generate HTML. > * Mode <code>1</code> will generate XML. > */ >- public static void writeOSState(PrintWriter writer, int mode) { >+ public static void writeOSState(PrintWriter writer, int mode, Object[] args) { > long[] result = new long[16]; > boolean ok = false; > try { >@@ -172,20 +172,20 @@ > writer.print("<h1>OS</h1>"); > > writer.print("<p>"); >- writer.print(" Physical memory: "); >+ writer.print( args[0] ); > writer.print(formatSize(Long.valueOf(result[0]), true)); >- writer.print(" Available memory: "); >+ writer.print(" " + args[1]); > writer.print(formatSize(Long.valueOf(result[1]), true)); >- writer.print(" Total page file: "); >+ writer.print(" " + args[2]); > writer.print(formatSize(Long.valueOf(result[2]), true)); >- writer.print(" Free page file: "); >+ writer.print(" " + args[3]); > writer.print(formatSize(Long.valueOf(result[3]), true)); >- writer.print(" Memory load: "); >+ writer.print(" " + args[4]); > writer.print(Long.valueOf(result[6])); > writer.print("<br>"); >- writer.print(" Process kernel time: "); >+ writer.print(" " + args[5]); > writer.print(formatTime(Long.valueOf(result[11] / 1000), true)); >- writer.print(" Process user time: "); >+ writer.print(" " + args[6]); > writer.print(formatTime(Long.valueOf(result[12] / 1000), true)); > writer.print("</p>"); > } else if (mode == 1){ >@@ -203,7 +203,7 @@ > * Mode <code>1</code> will generate XML. > * @throws Exception Propagated JMX error > */ >- public static void writeVMState(PrintWriter writer, int mode) >+ public static void writeVMState(PrintWriter writer, int mode, Object[] args) > throws Exception { > > SortedMap<String, MemoryPoolMXBean> memoryPoolMBeans = new TreeMap<>(); >@@ -216,18 +216,18 @@ > writer.print("<h1>JVM</h1>"); > > writer.print("<p>"); >- writer.print(" Free memory: "); >+ writer.print( args[0] ); > writer.print(formatSize( > Long.valueOf(Runtime.getRuntime().freeMemory()), true)); >- writer.print(" Total memory: "); >+ writer.print(" " + args[1] ); > writer.print(formatSize( > Long.valueOf(Runtime.getRuntime().totalMemory()), true)); >- writer.print(" Max memory: "); >+ writer.print(" " + args[2] ); > writer.print(formatSize( > Long.valueOf(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>"); >+ writer.write("<table border=\"0\"><thead><tr><th>" + args[3] + "</th><th>" + args[4] + "</th><th>" + args[5] + "</th><th>" + args[6] + "</th><th>" + args[7] + "</th><th>" + args[8] + "</th></tr></thead><tbody>"); > for (MemoryPoolMXBean memoryPoolMBean : memoryPoolMBeans.values()) { > MemoryUsage usage = memoryPoolMBean.getUsage(); > writer.write("<tr><td>"); >@@ -289,7 +289,7 @@ > public static void writeConnectorState(PrintWriter writer, > ObjectName tpName, String name, MBeanServer mBeanServer, > Vector<ObjectName> globalRequestProcessors, >- Vector<ObjectName> requestProcessors, int mode) throws Exception { >+ Vector<ObjectName> requestProcessors, int mode, Object[] args) throws Exception { > > if (mode == 0) { > writer.print("<h1>"); >@@ -297,15 +297,15 @@ > writer.print("</h1>"); > > writer.print("<p>"); >- writer.print(" Max threads: "); >+ writer.print( args[0] ); > writer.print(mBeanServer.getAttribute(tpName, "maxThreads")); >- writer.print(" Current thread count: "); >+ writer.print(" " + args[1]); > writer.print(mBeanServer.getAttribute(tpName, "currentThreadCount")); >- writer.print(" Current thread busy: "); >+ writer.print(" " + args[2]); > writer.print(mBeanServer.getAttribute(tpName, "currentThreadsBusy")); > try { > Object value = mBeanServer.getAttribute(tpName, "keepAliveCount"); >- writer.print(" Keep alive sockets count: "); >+ writer.print(" " + args[3]); > writer.print(value); > } catch (Exception e) { > // Ignore >@@ -328,25 +328,25 @@ > return; > } > >- writer.print(" Max processing time: "); >+ writer.print( args[4] ); > writer.print(formatTime(mBeanServer.getAttribute > (grpName, "maxTime"), false)); >- writer.print(" Processing time: "); >+ writer.print(" " + args[5]); > writer.print(formatTime(mBeanServer.getAttribute > (grpName, "processingTime"), true)); >- writer.print(" Request count: "); >+ writer.print(" " + args[6]); > writer.print(mBeanServer.getAttribute(grpName, "requestCount")); >- writer.print(" Error count: "); >+ writer.print(" " + args[7]); > writer.print(mBeanServer.getAttribute(grpName, "errorCount")); >- writer.print(" Bytes received: "); >+ writer.print(" " + args[8]); > writer.print(formatSize(mBeanServer.getAttribute > (grpName, "bytesReceived"), true)); >- writer.print(" Bytes sent: "); >+ writer.print(" " + args[9]); > writer.print(formatSize(mBeanServer.getAttribute > (grpName, "bytesSent"), true)); > writer.print("</p>"); > >- writer.print("<table border=\"0\"><tr><th>Stage</th><th>Time</th><th>B Sent</th><th>B Recv</th><th>Client (Forwarded)</th><th>Client (Actual)</th><th>VHost</th><th>Request</th></tr>"); >+ writer.print("<table border=\"0\"><tr><th>"+ args[10] + "</th><th>" + args[11] + "</th><th>" + args[12] +"</th><th>" + args[13] +"</th><th>" + args[14] + "</th><th>" + args[15] + "</th><th>" + args[16] + "</th><th>" + args[17] + "</th></tr>"); > > enumeration = requestProcessors.elements(); > while (enumeration.hasMoreElements()) { >@@ -361,7 +361,7 @@ > writer.print("</table>"); > > writer.print("<p>"); >- writer.print("P: Parse and prepare request S: Service F: Finishing R: Ready K: Keepalive"); >+ writer.print( args[18] ); > writer.print("</p>"); > } else if (mode == 1){ > writer.write("<connector name='" + name + "'>");
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 62666
: 36125