Search in sources :

Example 16 with JdbcSqlStat

use of com.alibaba.druid.stat.JdbcSqlStat in project druid by alibaba.

the class SqlStatisticTest method test_sql_stat.

public void test_sql_stat() throws Exception {
    JdbcSqlStat stat = new JdbcSqlStat("SELECT * FROM t_user");
    Assert.assertEquals(null, stat.getExecuteLastStartTime());
    Assert.assertEquals(null, stat.getExecuteNanoSpanMaxOccurTime());
    Assert.assertEquals(null, stat.getExecuteErrorLastTime());
    stat.error(new Exception());
    Assert.assertNotNull(stat.getExecuteErrorLast());
    Assert.assertNotNull(stat.getExecuteErrorLastTime());
}
Also used : JdbcSqlStat(com.alibaba.druid.stat.JdbcSqlStat)

Example 17 with JdbcSqlStat

use of com.alibaba.druid.stat.JdbcSqlStat in project druid by alibaba.

the class StatFilter method clobOpenAfter.

private void clobOpenAfter(JdbcDataSourceStat dataSourceStat, StatementProxy stmt, ClobProxy clob) {
    dataSourceStat.incrementClobOpenCount();
    if (stmt != null) {
        JdbcSqlStat sqlStat = stmt.getSqlStat();
        if (sqlStat != null) {
            sqlStat.incrementClobOpenCount();
        }
    }
    StatFilterContext.getInstance().clob_open();
}
Also used : JdbcSqlStat(com.alibaba.druid.stat.JdbcSqlStat)

Example 18 with JdbcSqlStat

use of com.alibaba.druid.stat.JdbcSqlStat in project druid by alibaba.

the class StatFilter method statementExecuteBatchBefore.

@Override
protected void statementExecuteBatchBefore(StatementProxy statement) {
    final String sql = statement.getBatchSql();
    final int batchSize = statement.getBatchSqlList().size();
    JdbcSqlStat sqlStat = statement.getSqlStat();
    if (sqlStat == null || sqlStat.isRemoved()) {
        sqlStat = createSqlStat(statement, sql);
        statement.setSqlStat(sqlStat);
    }
    if (sqlStat != null) {
        sqlStat.addExecuteBatchCount(batchSize);
    }
    internalBeforeStatementExecute(statement, sql);
}
Also used : JdbcSqlStat(com.alibaba.druid.stat.JdbcSqlStat) Savepoint(java.sql.Savepoint)

Example 19 with JdbcSqlStat

use of com.alibaba.druid.stat.JdbcSqlStat in project druid by alibaba.

the class StatFilter method statement_executeErrorAfter.

@Override
protected void statement_executeErrorAfter(StatementProxy statement, String sql, Throwable error) {
    ConnectionProxy connection = statement.getConnectionProxy();
    JdbcConnectionStat.Entry connectionCounter = getConnectionInfo(connection);
    long nanos = System.nanoTime() - statement.getLastExecuteStartNano();
    JdbcDataSourceStat dataSourceStat = statement.getConnectionProxy().getDirectDataSource().getDataSourceStat();
    dataSourceStat.getStatementStat().error(error);
    dataSourceStat.getStatementStat().afterExecute(nanos);
    connectionCounter.error(error);
    // SQL
    JdbcSqlStat sqlStat = statement.getSqlStat();
    if (sqlStat != null) {
        sqlStat.decrementExecutingCount();
        sqlStat.error(error);
        sqlStat.addExecuteTime(statement.getLastExecuteType(), statement.isFirstResultSet(), nanos);
        statement.setLastExecuteTimeNano(nanos);
    }
    StatFilterContext.getInstance().executeAfter(sql, nanos, error);
    Profiler.release(nanos);
}
Also used : JdbcSqlStat(com.alibaba.druid.stat.JdbcSqlStat) JdbcDataSourceStat(com.alibaba.druid.stat.JdbcDataSourceStat) ConnectionProxy(com.alibaba.druid.proxy.jdbc.ConnectionProxy) JdbcConnectionStat(com.alibaba.druid.stat.JdbcConnectionStat)

Example 20 with JdbcSqlStat

use of com.alibaba.druid.stat.JdbcSqlStat in project druid by alibaba.

the class StatFilter method statementPrepareCallAfter.

@Override
public void statementPrepareCallAfter(CallableStatementProxy statement) {
    JdbcDataSourceStat dataSourceStat = statement.getConnectionProxy().getDirectDataSource().getDataSourceStat();
    dataSourceStat.getStatementStat().incrementPrepareCallCount();
    JdbcSqlStat sqlStat = createSqlStat(statement, statement.getSql());
    statement.setSqlStat(sqlStat);
}
Also used : JdbcSqlStat(com.alibaba.druid.stat.JdbcSqlStat) JdbcDataSourceStat(com.alibaba.druid.stat.JdbcDataSourceStat)

Aggregations

JdbcSqlStat (com.alibaba.druid.stat.JdbcSqlStat)42 Connection (java.sql.Connection)31 PreparedStatement (java.sql.PreparedStatement)31 ResultSet (java.sql.ResultSet)29 JdbcDataSourceStat (com.alibaba.druid.stat.JdbcDataSourceStat)6 SQLException (java.sql.SQLException)3 Savepoint (java.sql.Savepoint)3 MockClob (com.alibaba.druid.mock.MockClob)2 MockConnection (com.alibaba.druid.mock.MockConnection)2 MockPreparedStatement (com.alibaba.druid.mock.MockPreparedStatement)2 ConnectionProxy (com.alibaba.druid.proxy.jdbc.ConnectionProxy)2 JdbcConnectionStat (com.alibaba.druid.stat.JdbcConnectionStat)2 MockBlob (com.alibaba.druid.mock.MockBlob)1 MockNClob (com.alibaba.druid.mock.MockNClob)1 MockRowId (com.alibaba.druid.mock.MockRowId)1 ClobProxy (com.alibaba.druid.proxy.jdbc.ClobProxy)1 JdbcStatContext (com.alibaba.druid.stat.JdbcStatContext)1 Method (java.lang.reflect.Method)1 BigDecimal (java.math.BigDecimal)1 Time (java.sql.Time)1