-
Notifications
You must be signed in to change notification settings - Fork 55
Description
Feature epic details
- Link to development epic: A very high volume of messages written to the WebSphere Liberty messages.log has the ability to severely impact the performance of a server. open-liberty#31719
- Target GA release: 26001
Operating systems
Does the documentation apply to all operating systems?
- Yes
- No; specify operating systems: ______
Summary
Provide a concise summary of your feature. What is the update, why does it matter, and to whom? What do 80% of target users need to know to be most easily productive using your runtime update?
Liberty now has the ability to throttle logs by limiting the number of times repeated log entries - identified by either their messageID's or the entire message content - can be logged over a 5 minute period. This feature will be enabled by default and will be defaulted to 1000 messages over a 5 minute period. The duration cannot be configured.
Configuration
List any new or changed properties, parameters, elements, attributes, etc. Include default values and configuration examples where relevant:
Throttling is enabled by default, and while it's enabled, Liberty tracks each messageID using a sliding window. By default, any messageID that's repeated more than 1000 times in the span of 5 minutes will be suppressed. A throttle warning will be logged once throttling first occurs.
While throttling is enabled, each log event's occurrence will be tracked and once the threshold is met, logs will be suppressed. The occurrence continues to be tracked even while logs are suppressed and log events will not be logged until the occurrence drops below the configured threshold. There are a limited number of keys that will be tracked, so regular garbage collection is occurring to clean low occurring logs.
Log throttling can be configured to throttle messages based on the full message or messageID by using the throttleType logging attribute. The number of messages before throttling occurs can be configured using throttleMaxMessagesPerWindow. Log Throttling is disabled by setting throttleMaxMessagesPerWindow to 0.
Currently, these attributes can be configured as follows:
server.xml
<logging throttleMaxMessagesPerWindow="5000" throttleType="messageID" />
bootstrap.properties
com.ibm.ws.logging.throttle.max.messages.per.window=5000
com.ibm.ws.logging.throttle.type=messageID
server.env
WLP_LOGGING_THROTTLE_MAX_MESSAGES_PER_WINDOW=5000
WLP_LOGGING_THROTTLE_TYPE=messageID
Updates to existing topics
https://openliberty.io/docs/latest/log-trace-configuration.html
Add the above instructions in it's own new section labeled Log Throttling
Also add the two new attributes under Logging configuration settings. The new attributes are found and described in the UFO on slide 17: https://ibm.ent.box.com/s/k59dxybo26il3sclofejgu3cypi9afwo
https://openliberty.io/docs/latest/reference/config/logging.html
Also add the two new attributes under this table. The new attributes are the same as above.
KLD 12/08/25: ID doesn't update the logging.html topic. Development makes the update in their code.