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-14T08:23:21Z |
I lost the logging code some time ago
so can't quote it I'm afraid. I defined an external table, mapped
to a file, with columns for timestamp, a couple of numeric values,
and a text message. Then a procedure which wrote a record to this
table. Then called the procedure at points in my code where I
suspected there were bottlenecks.
I haven't used this approach for a while because I found the profiling output easier to use (no need to instrument the code) and just as useful. This involves running the query
select * from mon$call_stack order by mon$call_id desc
from a PHP script once a second and (if you can be bothered) doing various post-processing on the result. The query appears to only work sometimes, and I don't know why, but it works often enough to be useful. This is Firebird 2.1.
On 13/10/2015 19:30, 'stwizard' stwizard@... [firebird-support] wrote:
I haven't used this approach for a while because I found the profiling output easier to use (no need to instrument the code) and just as useful. This involves running the query
select * from mon$call_stack order by mon$call_id desc
from a PHP script once a second and (if you can be bothered) doing various post-processing on the result. The query appears to only work sometimes, and I don't know why, but it works often enough to be useful. This is Firebird 2.1.
On 13/10/2015 19:30, 'stwizard' stwizard@... [firebird-support] wrote:
Hi Tim,
Thanks for the reply. You mentioned that you did it with a logging procedure. Can you share what you exactly what you did to accomplish this?
Mike
-- Tim Ward