FROM TS017727981
We are using JMX metrics for datasources
# Java & Custom JMX
com.instana.plugin.java:
jmx:
- object_name: 'oracle.ucp.admin.UniversalConnectionPoolMBean:*'
metrics:
- attributes: 'borrowedConnectionsCount,availableConnectionsCount,maxPoolSize,connectionsClosedCount,connectionsCreatedCount,cumulativeConnectionBorrowedCount,cumulativeConnectionReturnedCount,cumulativeFailedConnectionWaitCount,peakConnectionsCount,pendingRequestsCount,remainingPoolCapacityCount'
type: 'absolute'
The issue we are seeing that values - even live ones from the last hour - are showing decimal values in the unit of "m". The values are much too large for what we expect as they exceed the maximum value and in other cases they are decimal values indicating part of a connection was borrowed or pending - not possible.
A specific example is oracle.ucp.admin.UniversalConnectionPoolMBean/UniversalConnectionPoolManager(1215391846)-a1a7a5d99-2-bizinttom020/jdbc/adjusterDashboard/pendingRequestsCount showing a value of 800.000m . In the 1 hour window we see values of 200, 600, and 800 pending requsts (not in that order). We know from our web logs that we are not seeing the kind of traffic that would be needed to create even 200 pending db connection pool requests. Additionally, we track the exact same data in Splunk and the values are nowhere need 800, 600, or 200. They are more like 1. Our splunk metrics pull directly from the same JMX mbeans that Instana is.
By our configuration, I would expect to see absolute values with no unit as they are counts.
What are these units "m." What can explain the large discrepancy?
Per Support
The notation used for these metrics is the SI notation, which is a standard for metrics and the m that you see stands for millis (not to be confused with milliseconds).
Me
I am not following you. Yes, per https://www.nist.gov/pml/owm/metric-si-prefixes, m means millis. So if I was measuring length, I might write 10mm - meaning 10 milli-meters (dash on purpose for illustration). And yes, that would mean 10/1000 of a m(eter).
In Instana's case there is no measurement specified - it is just m. m what? If I read 800.000m of pendingRequestCount and there is 1000m's in a single pendingRequestCount, then that would mean there was 0.80 pending requests. This is not possible. Pending requests have to be integer values.
Support
We can see how this can be counter intuitive for a metric that you would consider as a round number. This is due to the bucketing that takes place. By default, built-in dashboards show the means over a bucket. In the case of a 1h window, the bucket size is 1 minute. So if there was 1 pending request for a duration of 10s, then over 1 minute, there would have been 0.1 pending requests.
Thank you for taking the time to provide your idea to IBM. Your request regarding improved visibility of aggregation behavior and clearer presentation of metric values when viewing larger time ranges may not be delivered within the release currently under development; however, the theme aligns with our longer-term roadmap and, as such, is being tagged for future consideration. IBM may consider and evaluate community feedback for this request through activities such as voting, and we may reach out to you in the future to discuss additional details.
We truly value our relationship with you and appreciate your willingness to share details about your experience, recommendations, and ideas.
If you have any additional feedback or thoughts, or if there is anything else I can do, please do not hesitate to reply to this message to continue the conversation.
Please note: IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s sole discretion.
Screenshot referenced above is attached here.