I’m trying to use named queries with long cache times to ease a connection to an old DB (FoxPro).
However, when looking at the DB diagnostics, I have a feeling that some queries are still fired too often.
Is there some way I can monitor the queries send to the server (preferable via some option I can enable for a few minutes, and later investigate the data)?
I would like to find some data like
- source of the query (client hostname or ip)
- Time and duration of the query
- whether it hit the cache or went to the database
- parameters passed on
Turning the logger “NamedQueries.executor” to trace will get you information on the parameters, whether it hit the cache or db and the expiration time of cached queries.
Ok, I got some time to trace things, and found that most of the time, the cache was hit.
Though I found something weird, how is the cache supposed to stay valid until the year 9377, when I only enabled a cache of 2 minutes on it? I’m using 7.9.9 btw.
how is the cache supposed to stay valid until the year 9377, when I only enabled a cache of 2 minutes on it?
You're living in the future? 
I'll have our defect analyst take a look at that. Yikes.
The logging is turning a nano-second timestamp into a date - the logic is all fine, but the debug logging is (obviously) incorrect. We'll have to fix it internally.