Der SQL Monitor analysiert, welche Datenbankabfragen in welcher Häugifkeit getätigt werden und wie viel Zeit sie benötigt haben. Dadurch können zu häufige Abfragen identifiziert und behandelt werden, um die Performance zu steigern.

Konfiguration

Um den SQL Monitor zur Verfügung zu haben, muss dieser in die Benutzerkonfiguration oder der Konfiguration der entsprechenden Anwendung eingetragen werden.

<config service-class="com.top_logic.basic.sql.ConnectionPoolRegistry">
	<instance>
		<pools>
			<pool name="default">
				<data-source class="com.top_logic.basic.sql.LoggingDataSourceFactory">
					<ignorePattern>DBExportRegistry|KnowledgeBaseRefetch|ClusterManagerRefetch|scripting\.recorder\.ref\.ReferenceFactory|com\.top_logic\.util\.sched\.Scheduler</ignorePattern>
					<logStacktrace>true</logStacktrace>
					<logAggregate>true</logAggregate>
					<logTimeoutNanos>500000000</logTimeoutNanos>
				</data-source>
			</pool>
		</pools>
	</instance>
</config>

Ein aktivierter SQL Monitor kann daran erkannt werden, dass der Button für die Aufnahme aktiv ist.

Darstellung / Auswertung

Im Reiter Administration : Monitor: SQL Monitor befindet sich eine tabellarische Auswertung der Datenbankabfragen.

Buttons

Um den SQL Monitor bedienen zu können, werden einige Buttons zur Verfügung gestellt. Damit möglichst nur die gewünschten Aktionen aufgezeichnet werden, sollte die Aufnahme in einem anderen Browser gestartet werden als dort, wo die zu analysierenden Aktionen durchgeführt werden.

Tabelle

Die Tabelle besteht aus mehreren Spalten, die dabei helfen, zu teure Abfragen zu finden und diese im Code zu identifizieren.

Tabelle Der Name der Tabelle innerhalb der Datenbank.
Zeit Die benötigte Zeit für diese Abfragen.

Aufrufe

Dieser Wert gibt an, wie viele Abfragen dieser Art an die Datenbank gestellt werden. Dieser Wert sollte möglichst gering sein, da gerade auf verteilten Systemen die benötigte Zeit deutlich höher sein kann, als auf lokalen Systemen.
Zeilen Dieser Wert gibt an, wie viele Zeilen insgesamt für alle Aufrufe zurück geliefert werden.
Stack Über die Buttons können die jeweiligen Stack-Traces geöffnet werden, um die entsprechenden Stellen im Code besser identifizieren zu können. Diese können daraufhin angepasst werden, um die Anzahl der Aufrufe oder auch die Anzahl der Zeilen zu verringern.
SQL Die ausgeführte SQL-Abfrage.