This article applies to:
E-Prime’s clock starts when the “Run” button is clicked either in E-Studio or E-Run. It does not reflect when the first object in an experiment is displayed. The clock takes in consideration the time it takes to confirm the Startup Info (i.e., the time between when "Run" is pressed and the first object in the experiment).
For example, if Clock.Read was logged at the beginning of the experiment, then Clock.Read would not report 0. If it takes 15 seconds to confirm the Startup Info and the SessionProc to start, Clock.Read would report 15000 milliseconds.
In an E-Prime data file there is a difference between the SessionTime Attribute and the Clock.Information. Clock.Information (whether using NTP or not) reports a timestamp in UTC format for when the “Run” button was pressed (i.e., the zero time).
The SessionTime is just an arbitrary column that reports the same timestamp but is based off the Windows OS time and is reported according to the local time zone.
It is important to note that computers have more than one hardware clock. E-Prime uses a high precision clock. The one used by the computer for the system time may be less precise.
E-Prime resets the high precision clock to 0 at the start of each E-Prime run. Uptime of the machine can be calculated using the Timestamp and Frequency values logged in the Clock.Information Attribute. The Uptime is reset every time the machine is restarted. If synchronized to an NTP server (which we recommend when communicating with another machine to avoid clock drift), the epoch would match the server time.
In order to synchronize the start of the SessionProc to another machine or data analysis software (excluding the time it takes to complete Startup Info), sending a “zero time” signals at the beginning of the SessionProc is recommended. To send signals, PST recommends the use of Task Events to do so. This signal and the time that it occurred provides a point of reference to when the SessionProc started executing.
E-STUDIO: Using Task Events