In order to send critical telemetry entries outside of VM, GPA has two task-loops:
event logger - it writes the events to a new file ([timestamp].json) under 'events' folder every minute, no file content update.
event reader - it reads the event files under 'events' folder and send to host wire server every 5 minutes. If the file read failed, this file will be skipped and retry at next 5 minutes.
Here could be the unsynchronized file communication, like event logger still writes the file while event reader started to read it. To remove such synchronization issue, we could let
event logger write to new temp file ([timestamp].json.tmp), once the whole file write is done, rename the temp file to [timestamp].json
In order to send critical telemetry entries outside of VM, GPA has two task-loops:
event logger - it writes the events to a new file ([timestamp].json) under 'events' folder every minute, no file content update.
event reader - it reads the event files under 'events' folder and send to host wire server every 5 minutes. If the file read failed, this file will be skipped and retry at next 5 minutes.
Here could be the unsynchronized file communication, like event logger still writes the file while event reader started to read it. To remove such synchronization issue, we could let