A lot of monitoring information is accessible via the BoneCP connection pool class (BoneCP). This is registered as a managed bean, so if you use jconsole or some other monitoring tool you should get a detailed view to this information, e.g.:

If needed you can get the BoneCP
instance from a BoneCPDataSource
using BoneCPDataSource#getPool()
:
/**
* Get a status information of the JDBC connections.
*
* @return The status information of the JDBC connections.
*/
public String getConnectionStatus() {
String status = "unknown";
if (dataSource instanceof BoneCPDataSource) {
BoneCPDataSource bcpDataSource = (BoneCPDataSource) dataSource;
BoneCP bcp = bcpDataSource.getPool();
status = "JDBC connections: " + bcp.getTotalLeased()
+ " in use / " + bcp.getTotalFree()
+ " in pool / total created "
+ bcp.getTotalCreatedConnections();
}
return status;
}