Performance

To support the replaying of GUI actions in thin client mode, especially for benchmark use but also for regression testing, we don't want to make large numbers of unnecessary method calls that would require network traffic.

The performance of the AtcgRecordApp application is important, as we do not want to significantly slow down the recording process if we can possibly help it. In addition to making it more difficult to use, it could introduce timing issues in the logic of the tested application. You should therefore eliminate voluminous logging of calls to methods on app, by adding the method to the noiseMethods array in the atcgGetControlOptions method of the Application subclass.

The two methods that write to the rrmsg.log are the Application subclass atcgLogMessage and atcgLogInfoMessage methods. The atcgLogMessage method uses JadeLog.log, which waits for each write to complete. The atcgLogInfoMessage method uses JadeLog.info, which buffers the writes.

Because of the volume of writes, you should use the Application subclass atcgLogInfoMessage method whenever possible.

To ensure that the buffer is flushed periodically, the capture method uses the atcgLogMessage method for the postamble of methods when the value of the Application class atcgIndent property is set to zero (0).