14 from otf2.enums
import Type
18 TIMER_GRANULARITY = 1000000
22 return int(round(time.time() * TIMER_GRANULARITY))
25 with otf2.writer.open(
"TestArchive", timer_resolution=TIMER_GRANULARITY)
as trace:
27 function = trace.definitions.region(
"My Function")
29 parent_node = trace.definitions.system_tree_node(
"node")
30 system_tree_node = trace.definitions.system_tree_node(
"myHost", parent=parent_node)
32 trace.definitions.system_tree_node_property(system_tree_node,
"color", value=
"black")
33 trace.definitions.system_tree_node_property(system_tree_node,
"rack #", value=42)
35 location_group = trace.definitions.location_group(
"Initial Process",
36 system_tree_parent=system_tree_node)
38 attr = trace.definitions.attribute(
"StringTest",
"A test attribute", Type.STRING)
39 float_attr = trace.definitions.attribute(
"FloatTest",
"Another test attribute",
42 writer = trace.event_writer(
"Main Thread", group=location_group)
45 writer.enter(t(), function, {attr:
"Hello World"})
46 writer.leave(t(), function, attributes={float_attr: 42.0, attr:
"Wurst?"})
49 temperature = trace.definitions.metric(
"Time since last coffee", unit=
"min")
50 writer.metric(t(), temperature, 72.0)
53 temp_member = trace.definitions.metric_member(
"Temperature",
"C", otf2.MetricType.OTHER,
54 otf2.MetricMode.ABSOLUTE_POINT)
55 power_member = trace.definitions.metric_member(
"Power",
"W")
57 mclass = trace.definitions.metric_class([temp_member, power_member])
59 writer.metric(t(), mclass, [42.0, 12345.6])