Class SlowQueryReport.QueryStats

java.lang.Object
org.apache.tomcat.jdbc.pool.interceptor.SlowQueryReport.QueryStats
Enclosing class:
SlowQueryReport

public static class SlowQueryReport.QueryStats extends Object
Holds timing and invocation statistics for a single SQL query.
  • Constructor Details

    • QueryStats

      public QueryStats(String query)
      Creates a new QueryStats instance for the given SQL query.
      Parameters:
      query - the SQL query string
  • Method Details

    • getFieldNames

      public static String[] getFieldNames()
      Returns the names of the fields in the composite data representation.
      Returns:
      the field names
    • getFieldDescriptions

      public static String[] getFieldDescriptions()
      Returns the descriptions of the fields in the composite data representation.
      Returns:
      the field descriptions
    • getFieldTypes

      public static OpenType<?>[] getFieldTypes()
      Returns the JMX OpenType of each field in the composite data representation.
      Returns:
      the field types
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getCompositeData

      public CompositeDataSupport getCompositeData(CompositeType type) throws OpenDataException
      Returns the query statistics as JMX CompositeData.
      Parameters:
      type - the composite type definition
      Returns:
      the composite data representation of this query's statistics
      Throws:
      OpenDataException - if the data cannot be converted
    • prepare

      public void prepare(long invocationTime)
      Records the time taken to prepare this query.
      Parameters:
      invocationTime - the time in milliseconds to prepare the query
    • add

      public void add(long invocationTime, long now)
      Records a successful query invocation, updating min/max/total timing statistics.
      Parameters:
      invocationTime - the time in milliseconds the query took
      now - the current timestamp in milliseconds
    • failure

      public void failure(long invocationTime, long now)
      Records a failed query invocation, updating timing statistics and failure count.
      Parameters:
      invocationTime - the time in milliseconds the query took before failing
      now - the current timestamp in milliseconds
    • getQuery

      public String getQuery()
      Returns the SQL query string for these statistics.
      Returns:
      the SQL query string
    • getNrOfInvocations

      public int getNrOfInvocations()
      Returns the total number of times this query has been invoked.
      Returns:
      the number of invocations
    • getMaxInvocationTime

      public long getMaxInvocationTime()
      Returns the longest time this query took to execute.
      Returns:
      the maximum invocation time in milliseconds
    • getMaxInvocationDate

      public long getMaxInvocationDate()
      Returns the timestamp when the longest query execution occurred.
      Returns:
      the timestamp in milliseconds of the maximum invocation
    • getMinInvocationTime

      public long getMinInvocationTime()
      Returns the shortest time this query took to execute.
      Returns:
      the minimum invocation time in milliseconds
    • getMinInvocationDate

      public long getMinInvocationDate()
      Returns the timestamp when the shortest query execution occurred.
      Returns:
      the timestamp in milliseconds of the minimum invocation
    • getTotalInvocationTime

      public long getTotalInvocationTime()
      Returns the total time spent executing this query across all invocations.
      Returns:
      the total invocation time in milliseconds
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object other)
      Overrides:
      equals in class Object
    • isOlderThan

      public boolean isOlderThan(SlowQueryReport.QueryStats other)
      Returns whether this query was last invoked before the given query stats.
      Parameters:
      other - the other query statistics to compare against
      Returns:
      true if this query's last invocation is older