Skip to content

Conversation

@deejgregor
Copy link

This is a draft PR that I experimented with over the weekend to add support for WebSphere PMI subCollections support so that connection pool metrics could be retrieved. I would be interesting in discussing the possibility of adding this to jmxfetch.

WebSphere connection pool statistics (type:JDBCProvider) are little tricky to gather over JMX because the statistics are exposed using a non-standard subCollections method on a non-standard StatsImpl object (docs) and the sub-collection objects use non-standard statistics value objects (com.ibm.ws.pmi.stat.CountStatisticImpl, etc.). This PR adds support for both (1) the non-standard attribute objects in PmiSubCollectionAttribute, following the existing pattern and reusing code from JmxTabularAttribute and (2) statistics objects in PmiStatisticsAttributes, mirroring the patterns in JeeStatisticsAttributes.

[dd.trace 2025-11-12 02:12:14:048 +0000] [dd-jmx-collector] INFO datadog.communication.monitor.LoggingStatsDClient - websphere.jdbc_provider.use_time.total_ms:3|c|#subcollection:default/ds,instance:dd-java-agent for websphere,jmx_domain:WebSphere,dd.internal.jmx_check_name:jmxfetch-websphere-config,node:DefaultNode01,process:server1,Server:server1,J2EEServer:server1,mbeanIdentifier:cells/DefaultCell01/nodes/DefaultNode01/servers/server1/resources.xml#JDBCProvider_1762912381235,j2eeType:JDBCResource,name:Oracle JDBC Driver (XA),type:JDBCProvider,cell:DefaultCell01,version:9.0.5.24,platform:dynamicproxy,spec:1.0,runtime-id:9314ec31-8e12-4392-b193-c573950e3dbe,service:com.ibm.wsspi.bootstrap.WSPreLauncher

You can see the configuration for this here: deejgregor/dd-trace-java@a8d6cb7

And here is a docker compose setup to test this: https://github.com/deejgregor/websphere-setup/tree/feature-pmi-subcollections

@amarziali amarziali self-assigned this Nov 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants