Script Profiler

Idea created by ColinKeefe on Oct 30, 2015

    Determining performance bottlenecks in the FileMaker product line is more art than science because all of the performance monitors provide inferences rather than proof.  We can use Perfmon to track key server stats like Calls in Progress and so on, and we can step through scripts and manually time script step results.  We can build home-brew logging tools to track script start and completion times, but all of that requires significant work, deep knowledge and a lot of indirect, cumulative building of evidence to come to a conclusion ("it's this script trigger on this layout during a Go To Layout in Script Step 12 of this subscript").


    I propose two flavors of profilers, loosely based on performance tuning tools in other platforms.


    Script Profiler

    When Script Profiler is enabled in Script Debugger, each step in the currently running script logs the time taken to complete the step.  A user can click the Play button and just review the results at the end of the script run, or can step through each script step manually and watch as the times are recorded.


    The performance results can viewed in two ways:


    First, the timings of each script step will be shown in a left-hand column in Script Debugger.

    Second, a Script Profiler Report can be printed at the end of a script run-through, showing the performance of each script step in the parent script and all subscripts.