public class SlowQueryReport extends AbstractQueryReport
| Modifier and Type | Class and Description |
|---|---|
static class |
SlowQueryReport.QueryStats |
AbstractQueryReport.StatementProxy| Modifier and Type | Field and Description |
|---|---|
protected int |
maxQueries
Maximum number of queries we will be storing
|
protected static ConcurrentHashMap<String,ConcurrentHashMap<String,SlowQueryReport.QueryStats>> |
perPoolStats
we will be keeping track of query stats on a per pool basis
|
protected ConcurrentHashMap<String,SlowQueryReport.QueryStats> |
queries
the queries that are used for this interceptor.
|
protected Comparator<SlowQueryReport.QueryStats> |
queryStatsComparator
Sort QueryStats by last invocation time
|
thresholdconstructors, CREATE_STATEMENT, CREATE_STATEMENT_IDX, EXECUTE, EXECUTE_BATCH, EXECUTE_QUERY, EXECUTE_TYPES, EXECUTE_UPDATE, PREPARE_CALL, PREPARE_CALL_IDX, PREPARE_STATEMENT, PREPARE_STATEMENT_IDX, STATEMENT_TYPE_COUNT, STATEMENT_TYPESCLOSE_VAL, EQUALS_VAL, GETCONNECTION_VAL, HASHCODE_VAL, ISCLOSED_VAL, ISVALID_VAL, ISWRAPPERFOR_VAL, properties, TOSTRING_VAL, UNWRAP_VAL| Constructor and Description |
|---|
SlowQueryReport()
Creates a slow query report interceptor
|
| Modifier and Type | Method and Description |
|---|---|
void |
closeInvoked()
invoked when the connection receives the close request
Not used for now.
|
static ConcurrentHashMap<String,SlowQueryReport.QueryStats> |
getPoolStats(String poolname)
Returns the query stats for a given pool
|
protected SlowQueryReport.QueryStats |
getQueryStats(String sql) |
void |
poolClosed(ConnectionPool pool)
This method is invoked by a connection pool when the pool is closed.
|
void |
poolStarted(ConnectionPool pool)
This method is invoked by a connection pool when the pool is first started up, usually when the first connection is requested.
|
void |
prepareCall(String sql,
long time)
Invoked when prepareCall has been called and completed.
|
void |
prepareStatement(String sql,
long time)
Invoked when prepareStatement has been called and completed.
|
protected void |
removeOldest(ConcurrentHashMap<String,SlowQueryReport.QueryStats> queries)
Sort QueryStats by last invocation time
|
protected String |
reportFailedQuery(String query,
Object[] args,
String name,
long start,
Throwable t)
Invoked when a query execution, a call to execute/executeQuery or executeBatch failed.
|
protected String |
reportQuery(String query,
Object[] args,
String name,
long start,
long delta)
Invoked when a query execution, a call to execute/executeQuery or executeBatch succeeded and was within the timing threshold
|
protected String |
reportSlowQuery(String query,
Object[] args,
String name,
long start,
long delta)
Invoked when a query execution, a call to execute/executeQuery or executeBatch succeeded and was exceeded the timing threshold
|
void |
reset(ConnectionPool parent,
PooledConnection con)
no-op for this interceptor. no state is stored.
|
void |
setMaxQueries(int maxQueries) |
void |
setProperties(Map<String,PoolProperties.InterceptorProperty> properties)
Called during the creation of an interceptor
The properties can be set during the configuration of an interceptor
Override this method to perform type casts between string values and object properties
|
createStatement, getThreshold, setThresholdgetConstructor, invoke, isExecute, isStatement, processcompare, compare, disconnected, getNext, getProperties, isUseEquals, setNext, setUseEqualsprotected static ConcurrentHashMap<String,ConcurrentHashMap<String,SlowQueryReport.QueryStats>> perPoolStats
protected volatile ConcurrentHashMap<String,SlowQueryReport.QueryStats> queries
protected int maxQueries
protected final Comparator<SlowQueryReport.QueryStats> queryStatsComparator
public static ConcurrentHashMap<String,SlowQueryReport.QueryStats> getPoolStats(String poolname)
poolname - - the name of the pool we want to retrieve stats forpublic void setMaxQueries(int maxQueries)
protected String reportFailedQuery(String query, Object[] args, String name, long start, Throwable t)
AbstractQueryReportreportFailedQuery in class AbstractQueryReportquery - the query that was executed and failedargs - the arguments to the executionname - the name of the method used to execute AbstractCreateStatementInterceptor.isExecute(Method, boolean)start - the time the query execution startedt - the exception that happenedprotected String reportQuery(String query, Object[] args, String name, long start, long delta)
AbstractQueryReportreportQuery in class AbstractQueryReportquery - the query that was executed and failedargs - the arguments to the executionname - the name of the method used to execute AbstractCreateStatementInterceptor.isExecute(Method, boolean)start - the time the query execution starteddelta - the time the execution tookprotected String reportSlowQuery(String query, Object[] args, String name, long start, long delta)
AbstractQueryReportreportSlowQuery in class AbstractQueryReportquery - the query that was executed and failedargs - the arguments to the executionname - the name of the method used to execute AbstractCreateStatementInterceptor.isExecute(Method, boolean)start - the time the query execution starteddelta - the time the execution tookpublic void closeInvoked()
closeInvoked in class AbstractCreateStatementInterceptorpublic void prepareStatement(String sql, long time)
AbstractQueryReportprepareStatement in class AbstractQueryReportsql - - the string used to prepare the statement withtime - - the time it took to invoke preparepublic void prepareCall(String sql, long time)
AbstractQueryReportprepareCall in class AbstractQueryReportsql - - the string used to prepare the statement withtime - - the time it took to invoke preparepublic void poolStarted(ConnectionPool pool)
poolStarted in class JdbcInterceptorpool - - the pool that is being closed.public void poolClosed(ConnectionPool pool)
poolClosed in class JdbcInterceptorpool - - the pool that is being closed.protected SlowQueryReport.QueryStats getQueryStats(String sql)
protected void removeOldest(ConcurrentHashMap<String,SlowQueryReport.QueryStats> queries)
queries - public void reset(ConnectionPool parent, PooledConnection con)
AbstractCreateStatementInterceptorreset in class AbstractCreateStatementInterceptorparent - - the connection pool owning the connectioncon - - the pooled connectionpublic void setProperties(Map<String,PoolProperties.InterceptorProperty> properties)
JdbcInterceptorsetProperties in class JdbcInterceptorCopyright © 2000-2021 Apache Software Foundation. All Rights Reserved.