Logging means saving data from the InterBase temporary system tables to "normal" tables at regular intervals, along with a timestamp and other information. Logging places a small load on the server, and uses disk space, but it allows you to query the tables after the fact and look back into time to see what the InterBase server was doing over the course of the time that Logging was active.
TMP$POOLS
into the logging table -- there
are multiple rows for each memory block type).
When choosing the items to log, select as few as possible, as this saves both disk space and reduces load on the server. Set the logging interval as long as possible. The load created by logging is not huge, but it is substantially larger than monitoring. In addition to disk space and CPU use, logging starts and commits a transaction each time a snapshot is taken, whereas monitoring does not (thanks to magic new features in InterBase 7).
InterBase Performance Monitor is fairly picky about the metadata (table structure) used by the logging function, so you must let InterBase Performance Monitor create the tables for you; it will not be possible to use existing tables. However, you can choose the table names. You must also specify a generator to use when inserting records into the logging tables. You may choose an existing generator, or enter a new name and InterBase Performance Monitor will prompt you before creating it.
Once you have completed the setup dialog, you can start logging. As long as the connection to the current database is maintained, you can start and stop logging as many times as you like. After you disconnect and reconnect, however, you will need to complete the setup dialog again before you are able to start logging. There are a couple reasons for this:
Future versions of InterBase Performance Monitor will include ready-to-run reports to summarize logged data. In version 1.1, however, you must either write your own reports using any InterBase-compatible reporting tool, or just query the tables directly using IBConsole or ISQL.
The log tables include one column for each column in the InterBase system temporary tables, with the same column names. The layout of the tables is documented in the InterBase Language Reference, and sample queries are given in the InterBase Operations Guide. These queries can be used against the logging tables with very little modification.
There are a few extra columns in the logging tables (beyond those normally included in the system temporary tables to which the logging tables correspond) which you should be aware of:
TIME_STAMP
valuesSNAPSHOT_ID
. You can therefore use values in this column to
JOIN
two tables together in a query.