#1027 - ENH: Add a Slow query event listener ... to log or listen to queries that exceed some defined execution time

This commit is contained in:
Rob Bygrave
2017-10-03 15:04:30 +13:00
parent 721654d033
commit 8301cb634e
15 changed files with 224 additions and 26 deletions
@@ -50,7 +50,7 @@ class CQueryFetchSingleAttribute {
private String bindLog;
private int executionTimeMicros;
private long executionTimeMicros;
private int rowCount;
@@ -91,20 +91,17 @@ class CQueryFetchSingleAttribute {
long startNano = System.nanoTime();
try {
prepareExecute();
List<Object> result = new ArrayList<>();
while (dataReader.next()) {
result.add(scalarType.read(dataReader));
dataReader.resetColumnPosition();
rowCount++;
}
long exeNano = System.nanoTime() - startNano;
executionTimeMicros = (int) exeNano / 1000;
executionTimeMicros = (System.nanoTime() - startNano) / 1000L;
request.slowQueryCheck(executionTimeMicros, rowCount);
return result;
} finally {