Overview | Package | Class | Tree | Deprecated | Index | Help
| SolarMetric Kodo JDO 2.5.0 Reverse Schema Tool
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.solarmetric.rd.jdbc
Class PerformanceTracker

    java.lang.Object
      |
      +--com.solarmetric.rd.jdbc.AbstractJDBCListener
            |
            +--com.solarmetric.rd.jdbc.PerformanceTracker

All Implemented Interfaces:
  JDBCListener

public class PerformanceTracker
extends AbstractJDBCListener

A global tracker of performance-related statistics. All the performance-related statistics are available as public static variables which can be accessed directly by an application.

A PerformanceTracker must be added as a `JDBCListener` in the `JDBCEventManager` in order to be used. Performance statistics are logged whenever a commit occurs. A summary of performance statistics can be obtained by invoking the static `summarizePerformance()` method at any time.

Since:
  2.4

Field Summary
`static long` | `commitMaxTime` The slowest commit made on a `Connection`.
`static long` | `commitMinTime` The fastest commit made on a `Connection`.
`static long` | `commits` The total number of commits made on a `Connection`.
`static long` | `commitTimes` The total time taken on the execution of commits made on all `Connection`s.
`static long` | `connectionMaxTime` The slowest `Connection` to be opened.
`static long` | `connectionMinTime` The fastest `Connection` to be opened.
`static long` | `connections` The total number of `Connection`s opened.
`static long` | `connectionTimes` The total time taken on the opening of all `Connection`s.
`static long` | `executePreparedStatementMaxTime` The slowest `PreparedStatement` execution.
`static long` | `executePreparedStatementMinTime` The fastest `PreparedStatement` execution.
`static long` | `executePreparedStatements` The total number of `PreparedStatement`s executed.
`static long` | `executePreparedStatementTimes` The total time taken on the execution of `PreparedStatement`s.
`static long` | `executeStatementMaxTime` The slowest `Statement` executions.
`static long` | `executeStatementMinTime` The fastest `Statement` executions.
`static long` | `executeStatements` The total number of `Statement`s that have been executed.
`static long` | `executeStatementTimes` The total time for all `Statement` executions.
`static int` | `maxStatementTracking` The number of slow statements we will track.
`static long` | `rollbackMaxTime` The slowest rollback made on a `Connection`.
`static long` | `rollbackMinTime` The fastest rollback made on a `Connection`.
`static long` | `rollbacks` The total number of rollbacks made on a `Connection`.
`static long` | `rollbackTimes` The total time taken on the execution of rollbacks made on all `Connection`s.
`static java.util.Map` | `slowestStatements` A Map of SQLString : time, to track the slowest statements we have seen.
`static java.util.SortedSet` | `statementTimes` A cache of the time elements in `slowestStatements`.

Constructor Summary
`PerformanceTracker()`

Method Summary
`void` | `afterCommit(com.solarmetric.rd.jdbc.JDBCEvent event)`
`void` | `afterConnect(com.solarmetric.rd.jdbc.JDBCEvent event)`
`void` | `afterExecuteStatement(com.solarmetric.rd.jdbc.JDBCEvent event)`
`void` | `afterRollback(com.solarmetric.rd.jdbc.JDBCEvent event)`
`static void` | `reset()` Reset all global statistics to their default values.
`static void` | `setLog(org.apache.commons.logging.Log log)` Set the log to write to.
`static java.lang.String` | `summarizePerformance()`
`long` | `time(com.solarmetric.rd.jdbc.JDBCEvent event)`
`java.lang.String` | `toString()` Summarize the statistics.
`void` | `trackSlowStatements(java.lang.String sql, long time)`

Methods inherited from class com.solarmetric.rd.jdbc.AbstractJDBCListener
`afterCreateStatement, afterPrepareStatement, afterReturn, beforeCommit, beforeConnect, beforeCreateStatement, beforeExecuteStatement, beforePrepareStatement, beforeReturn, beforeRollback, eventOccurred`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### executeStatements

    public static long executeStatements

  The total number of `Statement`s that have been executed.

### executeStatementTimes

    public static long executeStatementTimes

  The total time for all `Statement` executions.

### executeStatementMinTime

    public static long executeStatementMinTime

  The fastest `Statement` executions.

### executeStatementMaxTime

    public static long executeStatementMaxTime

  The slowest `Statement` executions.

### executePreparedStatements

    public static long executePreparedStatements

  The total number of `PreparedStatement`s executed.

### executePreparedStatementTimes

    public static long executePreparedStatementTimes

  The total time taken on the execution of `PreparedStatement`s.

### executePreparedStatementMinTime

    public static long executePreparedStatementMinTime

  The fastest `PreparedStatement` execution.

### executePreparedStatementMaxTime

    public static long executePreparedStatementMaxTime

  The slowest `PreparedStatement` execution.

### connections

    public static long connections

  The total number of `Connection`s opened.

### connectionTimes

    public static long connectionTimes

  The total time taken on the opening of all `Connection`s.

### connectionMinTime

    public static long connectionMinTime

  The fastest `Connection` to be opened.

### connectionMaxTime

    public static long connectionMaxTime

  The slowest `Connection` to be opened.

### commits

    public static long commits

  The total number of commits made on a `Connection`.

### commitTimes

    public static long commitTimes

  The total time taken on the execution of commits made on all `Connection`s.

### commitMinTime

    public static long commitMinTime

  The fastest commit made on a `Connection`.

### commitMaxTime

    public static long commitMaxTime

  The slowest commit made on a `Connection`.

### rollbacks

    public static long rollbacks

  The total number of rollbacks made on a `Connection`.

### rollbackTimes

    public static long rollbackTimes

  The total time taken on the execution of rollbacks made on all `Connection`s.

### rollbackMinTime

    public static long rollbackMinTime

  The fastest rollback made on a `Connection`.

### rollbackMaxTime

    public static long rollbackMaxTime

  The slowest rollback made on a `Connection`.

### maxStatementTracking

    public static int maxStatementTracking

  The number of slow statements we will track.

### slowestStatements

    public static java.util.Map slowestStatements

  A Map of SQLString : time, to track the slowest statements we have seen.

### statementTimes

    public static java.util.SortedSet statementTimes

  A cache of the time elements in `slowestStatements`.

Constructor Detail

### PerformanceTracker

    public PerformanceTracker()

Method Detail

### reset

    public static void reset()

  Reset all global statistics to their default values.

### setLog

    public static void setLog(org.apache.commons.logging.Log log)

  Set the log to write to.

### afterExecuteStatement

    public void afterExecuteStatement(com.solarmetric.rd.jdbc.JDBCEvent event)

  Overrides:
    `afterExecuteStatement` in class `AbstractJDBCListener`
  See Also:
    `JDBCEvent.AFTER_EXECUTE_STATEMENT`

### trackSlowStatements

    public void trackSlowStatements(java.lang.String sql,
                                    long time)

### afterCommit

    public void afterCommit(com.solarmetric.rd.jdbc.JDBCEvent event)

  Overrides:
    `afterCommit` in class `AbstractJDBCListener`
  See Also:
    `JDBCEvent.AFTER_COMMIT`

### afterRollback

    public void afterRollback(com.solarmetric.rd.jdbc.JDBCEvent event)

  Overrides:
    `afterRollback` in class `AbstractJDBCListener`
  See Also:
    `JDBCEvent.AFTER_ROLLBACK`

### afterConnect

    public void afterConnect(com.solarmetric.rd.jdbc.JDBCEvent event)

  Overrides:
    `afterConnect` in class `AbstractJDBCListener`
  See Also:
    `JDBCEvent.AFTER_CONNECT`

### time

    public final long time(com.solarmetric.rd.jdbc.JDBCEvent event)

  Returns:
    the time it took for an event to complete, based on the specified event's time with the associated event's time subtracted.

### summarizePerformance

    public static java.lang.String summarizePerformance()

### toString

    public java.lang.String toString()

  Summarize the statistics.

  Overrides:
    `toString` in class `java.lang.Object`

Overview | Package | Class | Tree | Deprecated | Index | Help
| SolarMetric Kodo JDO 2.5.0 Reverse Schema Tool
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright 2001,2002,2003 SolarMetric, Inc. All Rights Reserved.