Query Statistics

This topic applies to Java version only 

QueryStarted and QueryFinished events can be used to gather various statistics about query execution.

For example you can use queryStarted() and queryFinished() events to calculate query time, and activated() event to count objects activated in a query.

Java version provides an example of query events usage in QueryStats class from tools package.

In order to use QueryStats:

  1. Connect a QueryStats object to the ObjectContainer
  2. QueryStats stats = new QueryStats();

    stats.connect(db);

  3. Execute your query
  4. ObjectSet result = q.execute();

  5. Get the metrics from the QueryStats object
  6. long executionTime = stats.executionTime();

    int activationCount = stats.activationCount();

  7. After the work is done you can disconnect QueryStats from the ObjectContainer
  8. stats.disconnect();