[#7474] Make number of seconds that are considered "slow" in jOOQ-meta configurable
This commit is contained in:
parent
eb377fa565
commit
b3ff200fce
@ -498,6 +498,7 @@ public class GenerationTool {
|
||||
database.setConfiguredCustomTypes(d.getCustomTypes());
|
||||
database.setConfiguredEnumTypes(d.getEnumTypes());
|
||||
database.setConfiguredForcedTypes(d.getForcedTypes());
|
||||
database.setLogSlowQueriesAfterSeconds(defaultIfNull(g.getDatabase().getLogSlowQueriesAfterSeconds(), 5));
|
||||
|
||||
if (d.getRegexFlags() != null)
|
||||
database.setRegexFlags(d.getRegexFlags());
|
||||
|
||||
@ -137,6 +137,9 @@ public abstract class AbstractDatabase implements Database {
|
||||
private SchemaVersionProvider schemaVersionProvider;
|
||||
private CatalogVersionProvider catalogVersionProvider;
|
||||
private Comparator<Definition> orderProvider;
|
||||
private boolean includeRelations = true;
|
||||
private boolean tableValuedFunctions = true;
|
||||
private int logSlowQueriesAfterSeconds;
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Loaded definitions
|
||||
@ -161,8 +164,6 @@ public abstract class AbstractDatabase implements Database {
|
||||
private List<RoutineDefinition> routines;
|
||||
private List<PackageDefinition> packages;
|
||||
private Relations relations;
|
||||
private boolean includeRelations = true;
|
||||
private boolean tableValuedFunctions = true;
|
||||
|
||||
private transient Map<SchemaDefinition, List<SequenceDefinition>> sequencesBySchema;
|
||||
private transient Map<SchemaDefinition, List<IdentityDefinition>> identitiesBySchema;
|
||||
@ -274,9 +275,12 @@ public abstract class AbstractDatabase implements Database {
|
||||
|
||||
@Override
|
||||
public void executeEnd(ExecuteContext ctx) {
|
||||
if (getLogSlowQueriesAfterSeconds() <= 0)
|
||||
return;
|
||||
|
||||
StopWatch watch = (StopWatch) ctx.data("org.jooq.meta.AbstractDatabase.watch");
|
||||
|
||||
if (watch.split() > TimeUnit.SECONDS.toNanos(5L)) {
|
||||
if (watch.split() > TimeUnit.SECONDS.toNanos(getLogSlowQueriesAfterSeconds())) {
|
||||
watch.splitWarn("Slow SQL");
|
||||
|
||||
log.warn(
|
||||
@ -1051,13 +1055,22 @@ public abstract class AbstractDatabase implements Database {
|
||||
|
||||
@Override
|
||||
public final List<ForcedType> getConfiguredForcedTypes() {
|
||||
if (configuredForcedTypes == null) {
|
||||
if (configuredForcedTypes == null)
|
||||
configuredForcedTypes = new ArrayList<ForcedType>();
|
||||
}
|
||||
|
||||
return configuredForcedTypes;
|
||||
}
|
||||
|
||||
@Override
|
||||
public final int getLogSlowQueriesAfterSeconds() {
|
||||
return logSlowQueriesAfterSeconds;
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void setLogSlowQueriesAfterSeconds(int logSlowQueriesAfterSeconds) {
|
||||
this.logSlowQueriesAfterSeconds = logSlowQueriesAfterSeconds;
|
||||
}
|
||||
|
||||
@Override
|
||||
public final SchemaVersionProvider getSchemaVersionProvider() {
|
||||
return schemaVersionProvider;
|
||||
|
||||
@ -673,6 +673,16 @@ public interface Database extends AutoCloseable {
|
||||
*/
|
||||
void setConfiguredForcedTypes(List<ForcedType> types);
|
||||
|
||||
/**
|
||||
* Log slow queries after this amount of seconds.
|
||||
*/
|
||||
int getLogSlowQueriesAfterSeconds();
|
||||
|
||||
/**
|
||||
* Log slow queries after this amount of seconds.
|
||||
*/
|
||||
void setLogSlowQueriesAfterSeconds(int logSlowQueriesAfterSeconds);
|
||||
|
||||
/**
|
||||
* The database's schema version provider.
|
||||
*/
|
||||
|
||||
Loading…
Reference in New Issue
Block a user