Subject | Re: [firebird-support] How can I see which query within a stored procedure execution takes the longest time? |
---|---|
Author | Tim Ward |
Post date | 2015-10-13T15:36:39Z |
I did it by writing a logging procedure
which wrote timestamps to an external file mapped to a text file,
then calling it where I was interested.
An alternative is Monte Carlo profiling - I've also got a script which polls the call stack from the RDB$ tables. The procedure or statement it hits most often is the one taking the most time! (This turns out not to be terribly reliable in terms of actually getting call stack data every time it asks, but it does seem to be pretty reliable in pinpointing the performance bottlenecks.)
On 13/10/2015 16:30, 'stwizard' stwizard@... [firebird-support] wrote:
An alternative is Monte Carlo profiling - I've also got a script which polls the call stack from the RDB$ tables. The procedure or statement it hits most often is the one taking the most time! (This turns out not to be terribly reliable in terms of actually getting call stack data every time it asks, but it does seem to be pretty reliable in pinpointing the performance bottlenecks.)
On 13/10/2015 16:30, 'stwizard' stwizard@... [firebird-support] wrote:
Greetings All,
Firebird 2.5.4
I would like to know if there is any way that I can retrieve the execution time of each SQL SELECT or EXECUTE PROCEDURE within a stored procedure?
Any tool to accomplish this?
Thanks,
Mike
-- Tim Ward