New vendor metrics for MicroProfile Metrics in Open Liberty 23.0.0.11
Open Liberty 23.0.0.11 includes new vendor metrics for MicroProfile Metrics that you can add directly to your dashboards in various monitoring tools, without any additional computation on your part. Also announced in this release, but available since 23.0.0.10, is the ability to include all files in a specified directory in your server configuration. And there’s a security fix.
In Open Liberty 23.0.0.11:
View the list of fixed bugs in 23.0.0.11.
Check out previous Open Liberty GA release blog posts.
Develop and run your apps using 23.0.0.11
Open Liberty 23.0.0.11 is available through Maven, Gradle, Docker, and as a downloadable archive.
New vendor metrics for MicroProfile Metrics 3.0, 4.0, 5.0
This update to MicroProfile Metrics 3.0 (mpMetrics-3.0
), 4.0 (mpMetrics-4.0
), and 5.0 (mpMetrics-5.0
) on Open Liberty includes some new vendor metrics at the /metrics
endpoint.
Previously, you could calculate the new metrics for yourself from the Time
and Total
counts that were already provided for various monitoring components. For example, to obtain a "response time per request" metric, you would calculate it using the array of time series data provided by the MicroProfile Metrics feature. However, not all monitoring tools support such complex time series expressions.
With the MicroProfile Metrics feature, you can use the new metrics directly in the dashboards of various monitoring tools, without any additional computation.
The following table lists the new vendor metrics:
Metric | Endpoint output (Prometheus format) | |
---|---|---|
MicroProfile Metrics 5.0 |
MicroProfile Metrics 3.0 & 4.0 |
|
Process CPU Utilization Percent |
|
|
Heap Utilization Percent |
|
|
GC Time per Cycle |
|
|
Connection Pool in Use Time per Used Connection |
|
|
Connection Pool Wait Time per Queued Request |
|
|
Servlet Elapsed Time per Request |
|
|
REST Elapsed Time per Request |
|
|
The Heap Utilization and CPU Utilization metrics are available when the server is started. The Connection Pool, REST, and Servlet metrics are available if the application contains any of the relevant data sources, REST APIs, or servlets, as is the case with the existing vendor metrics.
The new vendor metrics are available in the /metrics
output when you enable the relevant Microprofile Metrics feature (version 3.0, 4.0, or 5.0) in your server.xml
; for example:
<featureManager>
<feature>mpMetrics-5.0</feature>
</featureManager>
For more information, see:
Include all files in a specified directory in your server configuration
You can use the include
element in your server.xml
file to specify the location of files to include in your server configuration. In previous releases, you had to specify the location for each include file individually. Starting with the 23.0.0.10 release, you can place all the included files in a directory and just specify the directory location in the include
element.
This is important because when running on Kubernetes, mounting secrets as a whole folder is the only way to reflect the change from the secret dynamically in the running pod.
In the location
attribute of the include
element of the server.xml
file, enter the directory that contains your configuration files. For example:
<include location="./common/"/>
After you make the changes, you can see the following output in the log:
[AUDIT ] CWWKG0028A: Processing included configuration resource: /Users/rickyherget/libertyGit/open-liberty/dev/build.image/wlp/usr/servers/com.ibm.ws.config.include.directory/common/a.xml
[AUDIT ] CWWKG0028A: Processing included configuration resource: /Users/rickyherget/libertyGit/open-liberty/dev/build.image/wlp/usr/servers/com.ibm.ws.config.include.directory/common/b.xml
[AUDIT ] CWWKG0028A: Processing included configuration resource: /Users/rickyherget/libertyGit/open-liberty/dev/build.image/wlp/usr/servers/com.ibm.ws.config.include.directory/common/c.xml
The files in the directory are processed in alphabetical order and subdirectories are ignored.
For more information about Liberty configuration includes, see Include configuration docs.
Security vulnerability (CVE) fixes in this release
CVE | CVSS Score | Vulnerability Assessment | Versions Affected | Notes |
---|---|---|---|---|
4.9 |
Weaker security |
23.0.0.9 - 23.0.0.10 |
Affects the Application Security 1.0, Application Security 2.0, Application Security 3.0, Application Security 4.0 and Application Security 5.0 features. |
For a list of past security vulnerability fixes, reference the Security vulnerability (CVE) list.
Get Open Liberty 23.0.0.11 now
If you’re using Maven, include the following in your pom.xml
file:
<plugin>
<groupId>io.openliberty.tools</groupId>
<artifactId>liberty-maven-plugin</artifactId>
<version>3.9</version>
</plugin>
Or for Gradle, include the following in your build.gradle
file:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'io.openliberty.tools:liberty-gradle-plugin:3.7'
}
}
apply plugin: 'liberty'
Or if you’re using container images:
FROM icr.io/appcafe/open-liberty
Or take a look at our Downloads page.
If you’re using IntelliJ IDEA, Visual Studio Code or Eclipse IDE, you can also take advantage of our open source Liberty developer tools to enable effective development, testing, debugging and application management all from within your IDE.