Package com.mysql.cj.log
Class BaseMetricsHolder
java.lang.Object
com.mysql.cj.log.BaseMetricsHolder
- Direct Known Subclasses:
ClusterAwareTimeMetricsHolder
public class BaseMetricsHolder
extends java.lang.Object
-
Field Summary
Fields Modifier and Type Field Description protected static intHISTOGRAM_BUCKETSprotected longlongestQueryTimeMsIf gathering metrics, what was the execution time of the longest query so far ?protected longmaximumNumberTablesAccessedprotected longminimumNumberTablesAccessedprotected longnumberOfPreparedExecutesWhen was the last time we reported metrics?protected longnumberOfPreparesprotected longnumberOfQueriesIssuedprotected longnumberOfResultSetsCreatedprotected long[]numTablesMetricsHistBreakpointsprotected int[]numTablesMetricsHistCountsprotected long[]oldHistBreakpointsprotected int[]oldHistCountsprotected long[]perfMetricsHistBreakpointsprotected int[]perfMetricsHistCountsprotected longqueryTimeCountprotected doublequeryTimeMeanprotected doublequeryTimeSumprotected doublequeryTimeSumSquaresprotected longshortestQueryTimeMsprotected doubletotalQueryTimeMs -
Constructor Summary
Constructors Constructor Description BaseMetricsHolder() -
Method Summary
Modifier and Type Method Description booleancheckAbonormallyLongQuery(long millisOrNanos)Update statistics that allows the driver to determine if a query is slow enough to be logged, and return the estimation result for millisOrNanos value.voidincrementNumberOfPreparedExecutes()voidincrementNumberOfPrepares()voidincrementNumberOfResultSetsCreated()voidregisterQueryExecutionTime(long queryTimeMs)voidreportMetrics(Log log)voidreportNumberOfTablesAccessed(int numTablesAccessed)voidreportQueryTime(long millisOrNanos)
-
Field Details
-
HISTOGRAM_BUCKETS
protected static final int HISTOGRAM_BUCKETS- See Also:
- Constant Field Values
-
longestQueryTimeMs
protected long longestQueryTimeMsIf gathering metrics, what was the execution time of the longest query so far ? -
maximumNumberTablesAccessed
protected long maximumNumberTablesAccessed -
minimumNumberTablesAccessed
protected long minimumNumberTablesAccessed -
numberOfPreparedExecutes
protected long numberOfPreparedExecutesWhen was the last time we reported metrics? -
numberOfPrepares
protected long numberOfPrepares -
numberOfQueriesIssued
protected long numberOfQueriesIssued -
numberOfResultSetsCreated
protected long numberOfResultSetsCreated -
numTablesMetricsHistBreakpoints
protected long[] numTablesMetricsHistBreakpoints -
numTablesMetricsHistCounts
protected int[] numTablesMetricsHistCounts -
oldHistBreakpoints
protected long[] oldHistBreakpoints -
oldHistCounts
protected int[] oldHistCounts -
shortestQueryTimeMs
protected long shortestQueryTimeMs -
totalQueryTimeMs
protected double totalQueryTimeMs -
perfMetricsHistBreakpoints
protected long[] perfMetricsHistBreakpoints -
perfMetricsHistCounts
protected int[] perfMetricsHistCounts -
queryTimeCount
protected long queryTimeCount -
queryTimeSum
protected double queryTimeSum -
queryTimeSumSquares
protected double queryTimeSumSquares -
queryTimeMean
protected double queryTimeMean
-
-
Constructor Details
-
BaseMetricsHolder
public BaseMetricsHolder()
-
-
Method Details
-
registerQueryExecutionTime
public void registerQueryExecutionTime(long queryTimeMs)- Parameters:
queryTimeMs- query execution time in milliseconds
-
reportMetrics
-
reportNumberOfTablesAccessed
public void reportNumberOfTablesAccessed(int numTablesAccessed) -
incrementNumberOfPreparedExecutes
public void incrementNumberOfPreparedExecutes() -
incrementNumberOfPrepares
public void incrementNumberOfPrepares() -
incrementNumberOfResultSetsCreated
public void incrementNumberOfResultSetsCreated() -
reportQueryTime
public void reportQueryTime(long millisOrNanos) -
checkAbonormallyLongQuery
public boolean checkAbonormallyLongQuery(long millisOrNanos)Update statistics that allows the driver to determine if a query is slow enough to be logged, and return the estimation result for millisOrNanos value.Used in case autoSlowLog=true.
- Parameters:
millisOrNanos- query execution time- Returns:
- true if millisOrNanos is outside the 99th percentile?
-