Initially, a table in the database is baselined. The baselining function
is usually built into the database system program which manages the
database itself. This baselining procedure generates storage information
like the number of rows in the table, the average length of a row, the
number of chained/migrated rows, and the average free space per page in
the table. This storage information is transferred to a monitoring
routine via a transaction log. The monitoring routine accepts the storage
information for the table. Next, the monitoring routine monitors the
transaction log for entries which alter the storage information initially
passed to it. At some point, an entity may wish to know the current
storage information for the table. When this occurs, a message is passed
to the monitoring routine, and the monitoring routine transfers the
storage information to the requesting entity, without accessing the
database.