Top Description Inners Fields Constructors Methods
org.h2.engine

public Class QueryStatisticsData

extends Object
Class Inheritance
Imports
java.util.ArrayList, .Comparator, .HashMap, .HashSet, .Iterator, .List, .Map.Entry

Maintains query statistics.

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class
QueryStatisticsData.QueryEntry

The collected statistics for one query.

Field Summary

Modifier and TypeField and Description
private final HashMap<String, QueryStatisticsData.QueryEntry>
private int
private static final Comparator<QueryStatisticsData.QueryEntry>

Constructor Summary

AccessConstructor and Description
public
QueryStatisticsData(int maxQueryEntries)

Method Summary

Modifier and TypeMethod and Description
public synchronized List<QueryStatisticsData.QueryEntry>
public synchronized void
setMaxQueryEntries(int maxQueryEntries)

public synchronized void
update(String
the statement being executed
sqlStatement
,
long
the time in nanoseconds the query/update took to execute
executionTimeNanos
,
long
the query or update row count
rowCount
)

Update query statistics.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

mapback to summary
private final HashMap<String, QueryStatisticsData.QueryEntry> map
maxQueryEntriesback to summary
private int maxQueryEntries
QUERY_ENTRY_COMPARATORback to summary
private static final Comparator<QueryStatisticsData.QueryEntry> QUERY_ENTRY_COMPARATOR

Constructor Detail

QueryStatisticsDataback to summary
public QueryStatisticsData(int maxQueryEntries)

Method Detail

getQueriesback to summary
public synchronized List<QueryStatisticsData.QueryEntry> getQueries()
setMaxQueryEntriesback to summary
public synchronized void setMaxQueryEntries(int maxQueryEntries)
updateback to summary
public synchronized void update(String sqlStatement, long executionTimeNanos, long rowCount)

Update query statistics.

Parameters
sqlStatement:String

the statement being executed

executionTimeNanos:long

the time in nanoseconds the query/update took to execute

rowCount:long

the query or update row count

org.h2.engine back to summary

public final Class QueryStatisticsData.QueryEntry

extends Object
Class Inheritance

The collected statistics for one query.

Field Summary

Modifier and TypeField and Description
public int
count

The number of times the statement was executed.

public long
executionTimeCumulativeNanos

The total execution time.

private double
public long
executionTimeMaxNanos

The maximum execution time, in nanoseconds.

public double
executionTimeMeanNanos

The mean execution time.

public long
executionTimeMinNanos

The minimum execution time, in nanoseconds.

public long
lastUpdateTime

The last time the statistics for this entry were updated, in milliseconds since 1970.

public long
rowCountCumulative

The total number of rows.

private double
public long
rowCountMax

The maximum number of rows.

public double
rowCountMean

The mean number of rows.

public long
rowCountMin

The minimum number of rows.

public final String
sqlStatement

The SQL statement.

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public double
public double
pack-priv void
update(long
the execution time in nanos
timeNanos
,
long
the number of rows
rows
)

Update the statistics entry.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

countback to summary
public int count

The number of times the statement was executed.

executionTimeCumulativeNanosback to summary
public long executionTimeCumulativeNanos

The total execution time.

executionTimeM2Nanosback to summary
private double executionTimeM2Nanos
executionTimeMaxNanosback to summary
public long executionTimeMaxNanos

The maximum execution time, in nanoseconds.

executionTimeMeanNanosback to summary
public double executionTimeMeanNanos

The mean execution time.

executionTimeMinNanosback to summary
public long executionTimeMinNanos

The minimum execution time, in nanoseconds.

lastUpdateTimeback to summary
public long lastUpdateTime

The last time the statistics for this entry were updated, in milliseconds since 1970.

rowCountCumulativeback to summary
public long rowCountCumulative

The total number of rows.

rowCountM2back to summary
private double rowCountM2
rowCountMaxback to summary
public long rowCountMax

The maximum number of rows.

rowCountMeanback to summary
public double rowCountMean

The mean number of rows.

rowCountMinback to summary
public long rowCountMin

The minimum number of rows.

sqlStatementback to summary
public final String sqlStatement

The SQL statement.

Constructor Detail

QueryEntryback to summary
public QueryEntry(String sql)

Method Detail

getExecutionTimeStandardDeviationback to summary
public double getExecutionTimeStandardDeviation()
getRowCountStandardDeviationback to summary
public double getRowCountStandardDeviation()
updateback to summary
pack-priv void update(long timeNanos, long rows)

Update the statistics entry.

Parameters
timeNanos:long

the execution time in nanos

rows:long

the number of rows