WebLogic Server JDBC Profiling Options

Connection Usage

            Collect information about threads currently using connections from the pool
             Data Collected:
            * PoolName - name of the data source to which this connection belongs
            * ID - connection ID
            * User - stack trace of the thread using the connection
            * Timestamp - time stamp showing when the connection was given to the thread

             Sample:  

  ####<DemoDataSource1 > <WEBLOGIC.JDBC.CONN.USAGE> <Wed Apr 23 07:39:02 EST 2014> <java.lang.Exception
            at weblogic.jdbc.common.internal.ConnectionEnv.setup(ConnectionEnv.java:356)
            at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:364)
            at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:471)
            at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:363)

            …

Connection Reservation Wait
            Collect information about threads currently waiting to reserve a connection from the data source
             Data Collected:
            * PoolName - name of the data source to which this connection belongs
            * ID - thread ID
            * User - stack trace of the thread waiting for the connection
            * Timestamp - time stamp showing when the thread started waiting for a connection

             Sample:   

####< DemoDataSource1> <WEBLOGIC.JDBC.CONN.RESV.WAIT> <0> < . . .
            {Stack Trace for waiting thread}
            ...

Connection Reservation Failed

            Collect information about threads that fail to reserve a connection from the pool
            Data Collected:
            * PoolName - name of the data source to which this connection belongs
            * ID - thread ID
            * User - stack trace of the thread waiting for the connection plus the exception received when the reservation request failed
            * Timestamp - time stamp showing when the reservation request failed

             Sample:  
  ####< DemoDataSource1> <WEBLOGIC.JDBC.CONN.RESV.FAIL> <Tue Apr 23 15:38:03 CEST 2014> <weblogic.common.resourcepool.ResourceDisabledException: Pool DBADAPTERDSXA is Suspended, cannot allocate resources to applications..

Connection Leak

            Collect information about threads that have reserved a leaked connection from the pool
             Data Collected:
            * PoolName - name of the data source to which this connection belongs
            * ID - connection ID
            * User - stack trace of the thread waiting for the connection
            * Timestamp - time stamp showing when the connection leak was detected

             Sample:  
  < DemoDataSource1> <WEBLOGIC.JDBC.CONN.LEAK> <java.lang.Exception
            at weblogic.jdbc.common.internal.ConnectionEnv.setup(ConnectionEnv.java:356)
            at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:364)
            at weblogic.jdbc.common.internal.HAConnectionPool.reserve(HAConnectionPool.java:206)
            at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(ConnectionPoolManager.java:129)
            …

Connection Last Usage

            Collect information about the previous thread that last used the connection
             Data Collected:
            * PoolName - name of the data source to which this connection belongs
            * ID - stack trace of the XA exception thrown
            * User - stack trace of the thread that last used the connection
            * Timestamp - time stamp showing when the exception was thrown

             Sample:  
  ####< DemoDataSource1> <WEBLOGIC.JDBC.CONN.LAST_USAGE> <0> < . . .
            {Stack Trace for thread that last used the connection}
            ...

Connection Multithreaded Usage

            Collect information about threads that erroneously use a connection that was previously obtained by a different thread
             Data Collected:
            * PoolName - name of the data source to which this connection belongs
            * ID - stack trace of the other thread that was found using the connection
            * User - stack trace of the thread that reserved the connection
            * Timestamp - time stamp showing when usage of the connection by multiple threads was detected

             Sample: 
   ####< DemoDataSource1> <WEBLOGIC.JDBC.CONN.MT_USAGE> <Fri Apr 18 04:57:20 PST 2014> <java.lang.Exception
            at weblogic.jdbc.common.internal.ConnectionEnv.setup(ConnectionEnv.java:356)
            at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:364)
            at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:330)
            ...

Statement Cache Entry

            Collect information for threads that caused prepared and callable statements added to the statement cache
             Data Collected:
            * PoolName - name of the data source to which this connection belongs
            * ID - string representation of the statement
            * User - stack trace of the thread using the statement
            * Timestamp - time stamp showing when the statement was added to the cache

             Sample:  
  ####< DemoDataSource1> <WEBLOGIC.JDBC.STMT_CACHE.ENTRY> <Tue Apr 11 16:42:43 EST 2014> <java.lang.Exception
            at weblogic.jdbc.common.internal.ConnectionPoolProfiler.addStmtCacheEntryData(ConnectionPoolProfiler.java:246)
            at weblogic.jdbc.common.internal.ConnectionEnv.getCachedStatement(ConnectionEnv.java:1309)
            at weblogic.jdbc.common.internal.ConnectionEnv.getCachedStatement(ConnectionEnv.java:1216)
            at weblogic.jdbc.common.internal.ConnectionEnv.getCachedStatement(ConnectionEnv.java:1209)
            ...

Statements Usage

            Collect information about threads currently executing SQL statements from the statement cache
             Data Collected:
            * PoolName - name of the data source to which this connection belongs
            * ID - SQL statement being executed via the statement
            * User - stack trace of the thread using the statement
            * Timestamp - duration of statement execution

             Sample:  
  ####< DemoDataSource1> <WEBLOGIC.JDBC.STMT.USAGE> <0> <java.lang.Exception at
            . . .
            weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run( ContainerSupportProviderImpl.java:254)
            at weblogic.work.ExecuteThread.execute(ExecuteThread.java:295)
            at weblogic.work.ExecuteThread.run(ExecuteThread.java:254)
            > <select 1 from dual>

Connection Unwrap

            Collect information about thread that accesses the JDBC connection using either the 'getVendorObject' WebLogic extension API or the JDBC 4.0 method 'unwrap'
             Data Collected:
            * PoolName - name of the data source to which this connection belongs
            * ID - stack trace of where the object was unwrapped
            * User - stack trace of the thread unwrapping the object
            * Timestamp - time stamp showing when the object was unwrapped

             Sample:    
####< DemoDataSource1> <WEBLOGIC.JDBC.CONN.RESV.WAIT> <0> < . . .
            {Stack Trace for unwrapping thread}
            ...