#!/usr/bin/python3
import os,sys,time,json,signal,pathlib
root=pathlib.Path(os.environ['EV_CASE'])
startTicks=pathlib.Path('/proc/self/stat').read_text().rsplit(')',1)[1].split()[19]
def log(event):
 with (root/'queries.jsonl').open('a') as f: f.write(json.dumps(dict(event=event,ns=time.monotonic_ns(),pid=os.getpid(),ppid=os.getppid(),argv=sys.argv[1:],startTicks=startTicks,mode=(root/'mode').read_text().strip()))+'\n')
if sys.argv[1:] != ['-eo','pid=,ppid=,comm=']: sys.exit(64)
mode=(root/'mode').read_text().strip()
log('START')
if mode=='hung':
 signal.signal(signal.SIGTERM,lambda *_:log('TERM'))
 while True: time.sleep(.1)
elif mode=='gate':
 while not (root/'release').exists(): time.sleep(.01)
else: time.sleep(float(mode))
sys.stdout.write((root/'table.txt').read_text());sys.stdout.flush();log('END')
