TIB_Monitor Object
Properties Methods Events

Unit
IB_Monitor

Declaration
TIB_Monitor = class(TIB_Component)

Description
This component provides a very useful way to monitor how the Interbase API is being utilized. Most calls to the API can be optionally traced with all of the information associated with the call displayed.

The way this component was designed makes it so that when the monitor is not enabled there is absolutely no performance degradation. A batch of intercept API hooks are defined and if a monitor instance exists and it is active then these intercepts are given to the IB_Session which are in turn used by all of the components in IB Objects.

When the intercept hooks are taken out then the appplication again has a direct connection to the API exports. Thus, there is no performance hit in order to provide monitoring functionality when monitoring is not enabled.

This is also very useful as a security feature. If your application EXE is built with the monitoring capabilities used in development turned off there is no way its API activity can be tapped into from an outside process.

These intercept hooks are broken into two categories for more refinement on performance issues and monitoring. You can monitor things like the SQL statements getting prepared but the actual calls to isc_dsql_fetch() will still be processed directly to the IB API without even knowing that monitoring is going on.

Introduced Public Properties
Enabled  Turns monitoring on and off.
ErrCode  This property tells the errcode value of the API call just made.
IncludeTimeStamp  Include the date and time stamp in the monitor output.
ItemEnd  Allows a custom item separator to be supplied.
ItemStart  Allows a custom item separator to be supplied.
MinTicks  The minimum number of ticks before the SECONDS entry is included in the output item.
MonitorGroups  Determines which API call groups that will be monitored.
ShowColOwner  Determines whether or not the owner of the column is shown in the list of columns and parameters on statements being prepared, described or executed.
StatementGroups  Determines which API calls in the Statement group that will be monitored.
Ticks  Tells how many ticks were used to process the API call.

Introduced Public Methods
Create
Destroy

Introduced Public Events
OnMonitorOutputItem  Event used to handle the output items of the monitor.