org.hibernate.stat.QueryStatistics Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of hibernate-core-jakarta Show documentation
Show all versions of hibernate-core-jakarta Show documentation
Hibernate O/RM implementation of the Jakarta Persistence specification
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or .
*/
package org.hibernate.stat;
import java.io.Serializable;
/**
* Query statistics (HQL and SQL)
*
* Note that for a cached query, the cache miss is equals to the db count
*
* @author Gavin King
* @author Steve Ebersole
*/
public interface QueryStatistics extends Serializable {
/**
* How many times has this query been executed?
*/
long getExecutionCount();
/**
* How many ResultSet rows have been processed for this query ?
*/
long getExecutionRowCount();
/**
* What is the average amount time taken to execute this query?
*/
long getExecutionAvgTime();
/**
* What is the max amount time taken to execute this query?
*/
long getExecutionMaxTime();
/**
* What is the min amount time taken to execute this query?
*/
long getExecutionMinTime();
/**
* How long, cumulatively, have all executions of this query taken?
*/
long getExecutionTotalTime();
double getExecutionAvgTimeAsDouble();
/**
* The number of cache hits for this query.
*
* @apiNote Note that a query can be saved into different
* regions at different times. This value represents the
* sum total across all of those regions
*/
long getCacheHitCount();
/**
* The number of cache misses for this query
*
* @apiNote Note that a query can be saved into different
* regions at different times. This value represents the
* sum total across all of those regions
*/
long getCacheMissCount();
/**
* The number of cache puts for this query
*
* @apiNote Note that a query can be saved into different
* regions at different times. This value represents the
* sum total across all of those regions
*/
long getCachePutCount();
/**
* The number of query plans successfully fetched from the cache.
*/
default long getPlanCacheHitCount() {
//For backward compatibility
return 0;
}
/**
* The number of query plans *not* fetched from the cache.
*/
default long getPlanCacheMissCount(){
//For backward compatibility
return 0;
}
/**
* The overall time spent to compile the plan for this particular query.
*/
default long getPlanCompilationTotalMicroseconds() {
//For backward compatibility
return 0;
}
}