OpenLiberty / open-liberty

Open Liberty is a highly composable, fast to start, dynamic application server runtime environment
https://openliberty.io
Eclipse Public License 2.0
1.15k stars 590 forks source link

Add Total Connections to Connection Pool stats #19317

Open NottyCode opened 2 years ago

NottyCode commented 2 years ago

Description of the high level feature, including any external spec links:

The connection pool stats mbean doesn't expose the max pool size which makes it harder to know when the pool is close to or has exhausted the connections.

Design,

Adding MaxConnectionsLimit to the pmi data. (Note: MaxConnectionCount was changed to MaxConnectionsLimit)

Current pmi data in jconsole includes this and the new value

WebSphere ConnectionPoolStats jdbc/ds Attributes FreeConnectionCount DestroyCount WaitTime WaitTimeDetails CreateCount InUseTimeDetails ManagedConnectionCount ConnectionHandleCount InUseTime

                      MaxConnectionsLimit     (new pmi value)

With the maximum pool size exposed under attribute MaxConnectionsLimit, customers will be able to see when they are close or at maximum pool size in jconsole or by using other tools.


When complete & mandatory, add links to the UFO (Upcoming Feature Overview) document, FTS (Feature Test Summary), blogs post issues(s), and Aha (externally raised RFEs):

Instructions:

Design

Before Development Starts or 8 weeks before Onboarding

Before proceeding to any items below (active development), this feature MUST be prioritized on the backlog, and have been socialized (e.g., UFO Review). Follow the Feature and UFO Approval Process.

Development

When active development has begun

Beta

If your feature, or portions of it, are going to be included in a beta
Before Onboarding the beta

1 week before beta GA

Legal

3 weeks before Onboarding

Translation

3 weeks before Onboarding

Feature Complete

2 weeks before Onboarding

Focal Point Approvals

2 to 1 week before Onboarding

You MUST have the Design Approved or No Design Approved label before requesting focal point approvals.

All features (both "Design Approved" and "No Design Approved")

"Design Approved" features

Ready for GA

1 week before Onboarding

1 week before GA

Other deliverbles

NottyCode commented 2 years ago

@jmstephensgit Can you update the description with the design please?

NottyCode commented 2 years ago

Removing No Design Approval Request until the description is updated with the design.

jmstephensgit commented 1 year ago

Here is a pull that contains changes that may be used in the implementation of this function. https://github.com/OpenLiberty/open-liberty/pull/24965

Most of the code is simple with the main work allowing for dynamic updates of maximum connections.

jmstephensgit commented 1 year ago

Changed MaxConnectionCount to MaxConnectionsLimit. During the design it was thought the statistic object was going to be a Counter object, but during implementation it was changed to a Gauge object. Keeping the name with Count does not make as much sense and during code review we decided to change the name.

jmstephensgit commented 1 year ago

Feature test summary - #24984