We're migration a legacy software from WebSphere traditional to OpenLiberty.
Just recently we have been extracting Performance Data based on the jeemanagement specification which says:
JSR77.6.1 Performance Data Framework
The Performance Data Framework consists of the StatisticsProvider model, which any managed object may implement, the Stats interfaces, which specify standard performance attribute semantics for each managed object type, and the Statistic interfaces which provide specific interfaces for representing the common performance data types.
unfortunately only our own Performance implementations are still working all JMX beans that used to provide statistics on open liberty no longer do.
E.g. the JVM
JMX Bean used to have a stats
attribute that could be queried and returned a Stats
object, with various Statistics
.
On OpenLiberty there is a JVMStats
JMX Bean, but that has only attributes and no CountStatisic
or whatsoever - the way the specification requests it.
As it seems we are back to square one and the whole Performance Monitoring based on the old specification seems to have been dropped.
Is that true or did we miss something? The docs for the feature unfortunately say nothing that one can query for those statistics but only that the feature provides access to the specified interfaces. That would mean it's just there but dead, while the old PMI stuff can still be enabled.
Any suggestions if we might have missed a configuration option to enable that Performance Framework again would be appreciated. We need to keep the application working on the new and the old application server for quiet some time until the migration to the mpMonitoring is possible.
I recently had a similar problem and investigated.
I found if you set , the Perf MBean appears (although the existing query recommended for WAS won't find it, as the type attribute is no longer set in the name).
WebSphere:type=Perf
However it is not the same as in WAS. If you compare the available API to WAS9
https://www.ibm.com/docs/api/v1/content/SSEQTJ_9.0.5/com.ibm.websphere.javadoc.doc/web/mbeanDocs/Perf.html
There are only around 10 methods available, all of the methods that took ObjectName have been removed. So you cannot lookup stats by ObjectName any more.
There is a new method getStatsAsString which returns the list of available stats, which seems much less that what WAS had. Seems setCustomSetString has no effect either.
Overall the takeaway is that there is something there, but it is a far cry from what was available in WAS, and the Liberty Perf bean is not API compatible with the WAS Perf bean.
I raised https://github.com/OpenLiberty/open-liberty/issues/22483 to see if the OL folks can help.