|
8 | 8 | import typing |
9 | 9 | import warnings |
10 | 10 | import networkx |
| 11 | +import tqdm |
11 | 12 | from . import graph_utils |
12 | 13 | from .hb_graph_accesses import hb_graph_to_accesses |
13 | 14 | from . import ops |
@@ -84,26 +85,26 @@ def ensure_state(quad: ptypes.OpQuad, desired_state: PidState) -> ptypes.OpQuint |
84 | 85 | inode_to_paths[access.inode].add(access.path) |
85 | 86 | version = InodeVersionNode(access.inode, version_num) |
86 | 87 | next_version = InodeVersionNode(access.inode, version_num + 1) |
87 | | - ensure_state(access.op_node, PidState.READING if access.mode.is_side_effect_free() else PidState.WRITING) |
| 88 | + ensure_state(access.op_node, PidState.READING if access.mode.is_side_effect_free else PidState.WRITING) |
88 | 89 | if (op_node := last_op_in_process.get(access.op_node.pid)) is None: |
89 | 90 | warnings.warn(ptypes.UnusualProbeLog(f"Can't find last node from process {access.op_node.pid}")) |
90 | 91 | continue |
91 | 92 | match access.mode: |
92 | | - case AccessMode.WRITE: |
93 | | - if access.phase == Phase.BEGIN: |
| 93 | + case ptypes.AccessMode.WRITE: |
| 94 | + if access.phase == ptypes.Phase.BEGIN: |
94 | 95 | dataflow_graph.add_edge(op_node, next_version) |
95 | 96 | dataflow_graph.add_edge(version, next_version) |
96 | | - case AccessMode.TRUNCATE_WRITE: |
97 | | - if access.phase == Phase.END: |
| 97 | + case ptypes.AccessMode.TRUNCATE_WRITE: |
| 98 | + if access.phase == ptypes.Phase.END: |
98 | 99 | dataflow_graph.add_edge(op_node, next_version) |
99 | | - case AccessMode.READ_WRITE: |
100 | | - if access.phase == Phase.BEGIN: |
| 100 | + case ptypes.AccessMode.READ_WRITE: |
| 101 | + if access.phase == ptypes.Phase.BEGIN: |
101 | 102 | dataflow_graph.add_edge(version, op_node) |
102 | | - if access.phase == Phase.END: |
| 103 | + if access.phase == ptypes.Phase.END: |
103 | 104 | dataflow_graph.add_edge(op_node, next_version) |
104 | 105 | dataflow_graph.add_edge(version, next_version) |
105 | | - case AccessMode.READ | AccessMode.EXEC | AccessMode.DLOPEN: |
106 | | - if access.phase == Phase.BEGIN: |
| 106 | + case ptypes.AccessMode.READ | ptypes.AccessMode.EXEC | ptypes.AccessMode.DLOPEN: |
| 107 | + if access.phase == ptypes.Phase.BEGIN: |
107 | 108 | dataflow_graph.add_edge(version, op_node) |
108 | 109 | case _: |
109 | 110 | raise TypeError() |
@@ -233,9 +234,9 @@ def label_nodes( |
233 | 234 | ): |
234 | 235 | data = dataflow_graph.nodes(data=True)[node] |
235 | 236 | match node: |
236 | | - case hb_graph.OpNode(): |
| 237 | + case ptypes.OpQuad(): |
237 | 238 | data["shape"] = "oval" |
238 | | - op = probe_log.get_op(node.pid, node.exec_no, node.pid.main_thread(), 0) |
| 239 | + op = probe_log.get_op(ptypes.OpQuad(node.pid, node.exec_no, node.pid.main_thread(), 0)) |
239 | 240 | if node.op_no == 0: |
240 | 241 | count[(node.pid, node.exec_no)] = 1 |
241 | 242 | if node.exec_no != 0: |
|
0 commit comments