It is the "top" call stats log, so if you have 40 remote calls occurring at the same time, it will only record statistics for the "top" 25 based on resource usage.
Your understanding is correct. For each interval of time, the top 25 resource using calls will be recorded. This is recorded at the end of the interval for the top 25 within the past elapsed interval.
If a request starts halfway through an interval, even though it was not running at the start of the interval, it will still display if it is using enough resources to be in the top 25. Same for if a request completes during the interval.
This stats log was designed to help you identify database processes that you have developed that may be taxing on system resources.
For our diagnostic purposes, we normally run the top call stats log for about an hour, and collectively take the top 10 calls during that interval and work on streamlining and improving them. Items that show up on a regular basis in top call stats are likely candidates for improvements if you have things running slowly in your database.
"The log describes the client requests (up to 25) that have the longest elapsed time during the statistics collection interval."
What does (up to 25) mean by?
it means that if there is no activity thus no events, nothing will be recorded. If there are 10 events, all 10 will be collected. If there are 30, only the top 25 will be written to the log.
Will it take only top 25 remote calls between each statistics collection interval?
Will it take any time for stats.log file creation?
For example if collection interval is set to 60 seconds, then will it start to record the 2nd set of statistics between 61st second to 120th second
yes. For every 60 sec period, the top 25 will go into the log.