use of org.jkiss.dbeaver.model.qm.QMMetaEvent in project dbeaver by dbeaver.
the class TransactionInfoDialog method createContextFilter.
protected QMEventFilter createContextFilter(DBCExecutionContext executionContext) {
if (executionContext == null) {
return VOID_FILTER;
}
final boolean showAll = showAllCheck != null && showAllCheck.getSelection();
final boolean showPrevious = showPreviousCheck != null && showPreviousCheck.getSelection();
final QMMSessionInfo currentSession = QMUtils.getCurrentSession(executionContext);
final QMMTransactionSavepointInfo currentSP = QMUtils.getCurrentTransaction(executionContext);
QMEventFilter filter = new QMEventFilter() {
@Override
public boolean accept(QMMetaEvent event) {
QMMObject object = event.getObject();
if (object instanceof QMMStatementExecuteInfo) {
QMMStatementExecuteInfo exec = (QMMStatementExecuteInfo) object;
if (!showPrevious && exec.getSavepoint() != currentSP) {
return false;
}
if (exec.getStatement().getSession() != currentSession) {
return false;
}
DBCExecutionPurpose purpose = exec.getStatement().getPurpose();
if (purpose == DBCExecutionPurpose.META || purpose == DBCExecutionPurpose.UTIL) {
return false;
}
return (showAll || exec.isTransactional());
}
return false;
}
};
return filter;
}
use of org.jkiss.dbeaver.model.qm.QMMetaEvent in project dbeaver by serge-rider.
the class QMLogFileWriter method metaInfoChanged.
@Override
public synchronized void metaInfoChanged(@NotNull List<QMMetaEvent> events) {
if (!enabled || logWriter == null) {
return;
}
StringBuilder logBuffer = new StringBuilder(4000);
for (QMMetaEvent event : events) {
if (eventFilter.accept(event)) {
writeEvent(logBuffer, event);
}
}
try {
logWriter.write(logBuffer.toString());
logWriter.flush();
} catch (IOException e) {
log.warn("IO error writing QM log. Disable log file writer", e);
ContentUtils.close(logWriter);
logWriter = null;
}
}
use of org.jkiss.dbeaver.model.qm.QMMetaEvent in project dbeaver by dbeaver.
the class QMLogFileWriter method metaInfoChanged.
@Override
public synchronized void metaInfoChanged(@NotNull List<QMMetaEvent> events) {
if (!enabled || logWriter == null) {
return;
}
StringBuilder logBuffer = new StringBuilder(4000);
for (QMMetaEvent event : events) {
if (eventFilter.accept(event)) {
writeEvent(logBuffer, event);
}
}
try {
logWriter.write(logBuffer.toString());
logWriter.flush();
} catch (IOException e) {
log.warn("IO error writing QM log. Disable log file writer", e);
ContentUtils.close(logWriter);
logWriter = null;
}
}
use of org.jkiss.dbeaver.model.qm.QMMetaEvent in project dbeaver by serge-rider.
the class QMLogFileWriter method metaInfoChanged.
@Override
public synchronized void metaInfoChanged(DBRProgressMonitor monitor, @NotNull List<QMMetaEvent> events) {
if (!enabled || logWriter == null) {
return;
}
StringBuilder logBuffer = new StringBuilder(4000);
for (QMMetaEvent event : events) {
if (eventFilter.accept(event)) {
writeEvent(logBuffer, event);
}
}
try {
logWriter.write(logBuffer.toString());
logWriter.flush();
} catch (IOException e) {
log.warn("IO error writing QM log. Disable log file writer", e);
ContentUtils.close(logWriter);
logWriter = null;
}
}
Aggregations