Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Additional metrics for HikariCP module #1976

Merged
merged 1 commit into from
Jul 19, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 11 additions & 3 deletions instrumentation/hikaricp-2.4.0/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,14 @@ artifact should be removed from the agent's `extension` folder if present.

### Reported Metrics
Every 5 seconds, the following metrics will be reported:
- `Database Connection/HikariCP/{PoolName}/Busy Count[connections]`: Retrieved from the [HikariPoolMXBean](https://www.javadoc.io/doc/com.zaxxer/HikariCP/2.4.6/com/zaxxer/hikari/HikariPoolMXBean.html) instance
- `Database Connection/HikariCP/{PoolName}/Idle Count[connections]`: Retrieved from the [HikariPoolMXBean](https://www.javadoc.io/doc/com.zaxxer/HikariCP/2.4.6/com/zaxxer/hikari/HikariPoolMXBean.html) instance
- `Database Connection/HikariCP/{PoolName}/Max Pool Size[connections]`: Retrieved from the [HikariConfig](https://www.javadoc.io/static/com.zaxxer/HikariCP/2.4.6/index.html?com/zaxxer/hikari/pool/HikariPool.html) instance
- `Database Connection/HikariCP/Busy Count[connections]`: Retrieved from HikariPool.getActiveConnections()
- `Database Connection/HikariCP/Idle Count[connections]`: Retrieved from HikariPool.getIdleConnections()
- `Database Connection/HikariCP/Total Count[connections]`: Retrieved from HikariPool.getTotalConnections()
- `Database Connection/HikariCP/Threads Awaiting Count[connections]`: Retrieved from HikariPool.getThreadsAwaitingConnection()
- `Database Connection/HikariCP/Max Pool Size[connections]`: Retrieved from HikariConfig.getMaximumPoolSize()
- `Database Connection/HikariCP/Minimum Idle Size[connections]`: Retrieved from HikariConfig.getMinimumIdle()
- `Database Connection/HikariCP/Connection Timeout`: Retrieved from HikariConfig.getConnectionTimeout()
- `Database Connection/HikariCP/Idle Timeout`: Retrieved from HikariConfig.getIdleTimeout()
- `Database Connection/HikariCP/Leak Detection Threshold`: Retrieved from HikariConfig.getLeakDetectionThreshold()
- `Database Connection/HikariCP/Maximum Lifetime`: Retrieved from HikariConfig.getMaxLifetime()
- `Database Connection/HikariCP/Validation Timeout`: Retrieved from HikariConfig.getValidationTimeout()
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,14 @@ public void run() {
MetricAggregator metricAggregator = NewRelic.getAgent().getMetricAggregator();
metricAggregator.recordMetric(baseName + "Busy Count[connections]", hikariPool.getActiveConnections());
metricAggregator.recordMetric(baseName + "Idle Count[connections]", hikariPool.getIdleConnections());
metricAggregator.recordMetric(baseName + "Total Count[connections]", hikariPool.getTotalConnections());
metricAggregator.recordMetric(baseName + "Threads Awaiting Count[connections]", hikariPool.getThreadsAwaitingConnection());
metricAggregator.recordMetric(baseName + "Max Pool Size[connections]", config.getMaximumPoolSize());
metricAggregator.recordMetric(baseName + "Minimum Idle Size[connections]", config.getMinimumIdle());
metricAggregator.recordMetric(baseName + "Connection Timeout", config.getConnectionTimeout());
metricAggregator.recordMetric(baseName + "Idle Timeout", config.getIdleTimeout());
metricAggregator.recordMetric(baseName + "Leak Detection Threshold", config.getLeakDetectionThreshold());
metricAggregator.recordMetric(baseName + "Maximum Lifetime", config.getMaxLifetime());
metricAggregator.recordMetric(baseName + "Validation Timeout", config.getValidationTimeout());
}
}
Loading