Subject [Fwd: Performance monitoring]
Author Corey Wangler
Sent this to IB_Priorities a while back... maybe I
should have sent it here instead, so here tis...

-------- Original Message --------
Subject: Performance monitoring
Date: Fri, 25 Aug 2000 13:14:24 +0930
From: Corey Wangler <cwangler@...>

In a large application, it can be hard to track down
queries or procedures that use excessive resources
(CPU, memory/disk e.g. for sort files).

I've just submitted some work for IB_Objects to integrate
profiling data reporting to give access to the various
info accessible via the API call isc_database_info.

The currently available information is useful for detailed
investigation of specific operations or tasks, but is not
enough info to track down queries or processes that consume
excessive resources (CPU, memory/disk).

I can see two options here....

1. Add further items to access via isc_database_info to
keep track of the CPU and memory/disk usage for the
attached process.

2. Add a logging facility that reports any excessive
resource usage (with appropriate threshold settings)
in terms of query SQL and/or names of involved stored
procs/triggers. The log info would go to a file.

The second option would probably make it easier to find
rogue tasks, but the first option may be easier to
implement (?).

A fellow developer pointed out that Microsoft SQL Server
has a logging facility for tracking down what parts of
an application (queries, procs) need performance tweaks...
I think this is an important feature that IB is lacking.

Anyhow, I'm considering options on how this kind of thing
should be approached. Looking for comments/suggestions...