05.06.2026 15:12, 'Maxim Kryukov' via firebird-devel:
> It will pollute trace log with a lot of events and kill server performance
>
> I didn't intend to add to a human log, just an event for TracePlugin
Trace was implemented for human log in first place. And to not hurt performance much.
> Also, due to network server batching, it will not match
> the client observations.
>
> The reason I thought of such events is probably my misunderstanding of exec statement stats. In TracePlug we have dsql_exec START
> and dsql_exec FINISH. I guess fetching goes in between. What is the execution time retrieved in exec FINISH? Time to readiness to
> give a client a first record, or all the time up to FINISH?
Cumulative time spend when the engine handle calls of execute and all fetches up to EOF.
> In the latter case it might take days if a client is lazy or unwilling to fetch further.
So what ? Why Trace API should care about it ?
> So the reason is to notice the heartbeat of fetch traffic, either batched/prefetched or otherwise.
> Another wish is to fish out statements taking relatively fast to execute, but taking much more time to drain records.
It is not possible with current Trace API interfaces. But, of course, it might
be extended in this direction. If really necessary.
Regards,
Vlad