Skip to content

Commit ee34b01

Browse files
Merge pull request #1159 from linsword13/inmem-gcp-metadata
Use inmem FOMs in gcp-metadata
2 parents 86fd0c5 + e3affd3 commit ee34b01

File tree

1 file changed

+31
-41
lines changed
  • var/ramble/repos/builtin/modifiers/gcp-metadata

1 file changed

+31
-41
lines changed

var/ramble/repos/builtin/modifiers/gcp-metadata/modifier.py

Lines changed: 31 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -174,13 +174,7 @@ def _process_id_list(self):
174174
ids = self.get_vm_id_list()
175175

176176
if ids:
177-
with open(
178-
self.expander.expand_var(
179-
"{experiment_run_dir}/gcp-metadata.id_list.log"
180-
),
181-
"w+",
182-
) as f:
183-
f.write(", ".join(sorted(ids)))
177+
self.add_inmem_fom_value("gcp_metadata_id_list", ", ".join(ids))
184178

185179
def _process_id_map(self):
186180
if self._usage_mode == "local":
@@ -196,13 +190,7 @@ def _process_id_map(self):
196190
if ":" not in content:
197191
return
198192
content = content.strip().replace("\n", ", ")
199-
with open(
200-
self.expander.expand_var(
201-
"{experiment_run_dir}/gcp-metadata.id_map.log"
202-
),
203-
"w+",
204-
) as f:
205-
f.write(content)
193+
self.add_inmem_fom_value("gcp_metadata_id_map", content)
206194

207195
def _process_physical_hosts(self, workspace):
208196
run_dir = self.expander.expand_var("{experiment_run_dir}")
@@ -232,17 +220,19 @@ def _process_physical_hosts(self, workspace):
232220
level0_groups.add(levels[0])
233221
level1_groups.add(levels[1])
234222
level2_groups.add(levels[2])
235-
236-
with open(
237-
os.path.join(run_dir, "gcp-metadata.topology_summary.log"),
238-
"w+",
239-
) as f:
240-
if len(level0_groups) > 0:
241-
# The group level name comes from https://cloud.google.com/compute/docs/instances/use-compact-placement-policies#verify-vm-location.
242-
f.write(f"Level 0 groups (cluster) = {len(level0_groups)}\n")
243-
f.write(f"Level 1 groups (rack) = {len(level1_groups)}\n")
244-
f.write(f"Level 2 groups (host) = {len(level2_groups)}\n")
245-
f.write(f'All hosts = {",".join(all_hosts)}\n')
223+
if level0_groups:
224+
self.add_inmem_fom_value(
225+
"gcp_metadata_level_0", len(level0_groups)
226+
)
227+
self.add_inmem_fom_value(
228+
"gcp_metadata_level_1", len(level1_groups)
229+
)
230+
self.add_inmem_fom_value(
231+
"gcp_metadata_level_2", len(level2_groups)
232+
)
233+
self.add_inmem_fom_value(
234+
"gcp_metadata_all_hosts", ",".join(all_hosts)
235+
)
246236

247237
def _prepare_analysis(self, workspace):
248238
self._process_id_list()
@@ -283,17 +273,13 @@ def _prepare_analysis(self, workspace):
283273
# This returns a list of all known gids in the job
284274
figure_of_merit(
285275
"gids",
286-
fom_regex=r"(?P<gid>.*)",
287-
group_name="gid",
288-
log_file="{experiment_run_dir}/gcp-metadata.id_list.log",
276+
fom_map_key="gcp_metadata_id_list",
289277
fom_type=FomType.INFO,
290278
)
291279

292280
figure_of_merit(
293281
"hostname-to-gid-map",
294-
fom_regex=r"(?P<map>.*)",
295-
group_name="map",
296-
log_file="{experiment_run_dir}/gcp-metadata.id_map.log",
282+
fom_map_key="gcp_metadata_id_map",
297283
fom_type=FomType.INFO,
298284
)
299285

@@ -305,18 +291,22 @@ def _prepare_analysis(self, workspace):
305291
fom_type=FomType.INFO,
306292
)
307293

308-
figure_of_merit(
309-
"Level {level_num} Groups ({level_name})",
310-
fom_regex=r"Level (?P<level_num>[0-9]) groups \((?P<level_name>[\w]+)\) = (?P<num_groups>[0-9]+)",
311-
log_file="{experiment_run_dir}/gcp-metadata.topology_summary.log",
312-
group_name="num_groups",
313-
units="",
314-
)
294+
for lv_num, lv_name in [
295+
# The group level name comes from https://cloud.google.com/compute/docs/instances/use-compact-placement-policies#verify-vm-location.
296+
(0, "cluster"),
297+
(1, "rack"),
298+
(2, "host"),
299+
]:
300+
figure_of_merit(
301+
f"Level {lv_num} Groups ({lv_name})",
302+
fom_map_key=f"gcp_metadata_level_{lv_num}",
303+
fom_type=FomType.INFO,
304+
units="",
305+
)
315306

316307
figure_of_merit(
317308
"All Hosts",
318-
fom_regex="All hosts = (?P<hostlist>.*)",
319-
log_file="{experiment_run_dir}/gcp-metadata.topology_summary.log",
320-
group_name="hostlist",
309+
fom_map_key="gcp_metadata_all_hosts",
310+
fom_type=FomType.INFO,
321311
units="",
322312
)

0 commit comments

Comments
 (0)