43 nodes = (
'/Event',
'/Event/Rec',
'/Event/DAQ')
44 for l
in open(filename).readlines():
45 if l.find(
'StoreTracer') == 0:
46 if l.find(
'Executing Algorithm') != -1:
48 if alg
not in algs.keys() : algs[alg] = (order, set(),set())
51 elif l.find(
'Done with Algorithm') != -1:
53 elif l.find(
'[EventDataSvc]') != -1
and curr:
55 if obj
in nodes :
continue
56 if obj.find(
'/Event/') == 0 : obj = obj[7:]
57 obj = obj.replace(
'/',
'_')
58 if obj
not in objs : objs.append(obj)
60 if l.find(
'RETRIEVE') != -1:
61 if obj
not in talg[1] : talg[1].
add(obj)
62 elif l.find(
'REGOBJ') != -1:
63 if obj
not in talg[2] : talg[2].
add(obj)
64 if l.find(
"TimingAuditor") != -1:
67 if algo.endswith(
"|"):
69 algo = algo.rstrip(
"|")
70 if algo
in algs.keys():
71 timing[algo] = l.split()[index]
73 for name
in algs.keys():
74 if name.startswith(algo):
75 timing[name] = l.split()[index]
82 sTiming = json.dumps(timing)
84 f = open(
"algTimings.json",
'w')
89 for alg
in timing.keys():
90 old_timing = float(timing[alg])
91 new_timing = old_timing*Scale;
93 timing[alg]=new_timing
95 for i, (alg,deps)
in enumerate(algs.items()):
96 if alg
in [
"PatPVOffline",
"PrsADCs"]:
continue
97 if deps[1]
or deps[2] :
99 inputs = [item
for item
in deps[1]
if item
not in (
"DAQ_ODIN",
"DAQ_RawEvent")
and item
not in deps[2]]
100 outputs = [item
for item
in deps[2]]
102 avgRuntime=float(timing[alg]),
110 all_outputs.add(item)
111 all_algos.append(new_algo)
112 all_algos_inputs.append(inputs)
117 DataOutputs=[item
for item
in all_inputs.difference(all_outputs)],
120 all_algos.append(new_algo)
121 all_algos_inputs.append([])
122 return all_algos,all_algos_inputs
def load_brunel_scenario(filename)