We started on an implementation of a flexible statistics gathering
engine some time ago:
https://issues.apache.org/jira/browse/CAY-1173
I hope this gets finished in Cayenne 3.1. Until then you have 2 places
where you may try intercepting query events:
* DataSource. Since DataSource is an interface, you can implement your
own wrapper around the current DataSource that you are using, set up
via a custom DataSourceFactory. Then you'd have to also decorate
Connection and PreparedStatement. PreparedStatement wrapper would
gather needed statistics.
* Log4J. You can create an appender that analyzes Cayenne QueryLogger
log events gathering needed stats.
Andrus
On Dec 29, 2009, at 10:03 AM, Hans Pikkemaat wrote:
Hi,
I'm doing some performance tests and want to see when the query is
actually run.
I'm running some test queries with different cache settings to see
what happens
performance and memory wise. For this reason I need to know when an
actual
sql statement is being executed at the database. So my question is:
Is there a way (2.0.4) to get a notification or callback when a
query (or more generic: sql statement) is executed?
I'm already using the log4j so I do see when the query runs but I
need a callback to be
able to store statistics about a query execution. Preferably
including result counts and execution timing.
I saw the explanation about the DataContextDelegate but this one is
called even when a query is in the cache.
tx
Hans