Reduce cardinality of default Tomcat JDBC pool names#19173
Open
YaoYingLong wants to merge 3 commits into
Open
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Reduces metric cardinality by normalizing Tomcat-generated JDBC pool names while retaining configured names.
Changes:
- Maps generated names to process-local
jdbc-<id>values. - Tests multiple pools, configured names, and repeated lifecycle calls.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
TomcatConnectionPoolMetrics.java |
Detects and normalizes generated pool names. |
TomcatJdbcInstrumentationTest.java |
Verifies naming and lifecycle behavior. |
Pull request dashboard statusStatus last refreshed: 2026-07-22 01:49:48 UTC.
This automated status or its linked feedback items may be incorrect. If something looks wrong, report it with the result you expected. |
trask
reviewed
Jul 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Tomcat JDBC generates default pool names in this format:
Tomcat Connection Pool[<counter>-<PoolProperties identity hash>]The identity hash makes the
pool.name/db.client.connection.pool.namemetric attribute unstable across JVM instances and can create unnecessary
time-series cardinality.
This change:
server.address[:server.port][/db.namespace];tomcat-jdbcwhen no server address or database namespace canbe derived;
attribute value, which is aggregated by asynchronous metric observation.
Only automatically generated or unnamed pool names are affected. Explicit pool
names continue to be reported unchanged.
Compatibility
The implementation uses
DataSourceProxy#getPoolProperties()together withPoolConfiguration#getUrl()andPoolConfiguration#getDbProperties(). TheseAPIs are available across the supported Tomcat JDBC versions.