|
29 | 29 | import csv |
30 | 30 | import json |
31 | 31 | import os |
32 | | -from typing import TypedDict, Union |
| 32 | +from typing import Any, Optional, TypedDict, Union |
33 | 33 |
|
34 | 34 | from lglpy.comms.server import Message |
35 | 35 |
|
@@ -73,9 +73,9 @@ def __init__(self, dir_path: str, verbose: bool = False): |
73 | 73 | ''' |
74 | 74 | self.base_dir = dir_path |
75 | 75 |
|
76 | | - self.frame_id = None |
77 | | - self.frame_header = None |
78 | | - self.frame_data = None |
| 76 | + self.frame_id: Optional[int] = None |
| 77 | + self.frame_header: Optional[list[str]] = None |
| 78 | + self.frame_data: Optional[list[list[str]]] = None |
79 | 79 |
|
80 | 80 | os.makedirs(dir_path, exist_ok=True) |
81 | 81 |
|
@@ -109,6 +109,10 @@ def handle_end_frame(self, message: EndFrameMessage): |
109 | 109 | # Message contains nothing we need |
110 | 110 | del message |
111 | 111 |
|
| 112 | + assert self.frame_id is not None |
| 113 | + assert self.frame_header is not None |
| 114 | + assert self.frame_data is not None |
| 115 | + |
112 | 116 | # Emit the CSV file |
113 | 117 | print(f'Generating CSV for frame {self.frame_id}') |
114 | 118 | path = os.path.join(self.base_dir, f'frame_{self.frame_id}.csv') |
@@ -147,13 +151,18 @@ def create_workload_data(self, message: WorkloadMessage): |
147 | 151 | Args: |
148 | 152 | message: The decoded JSON. |
149 | 153 | ''' |
150 | | - columns = [] |
| 154 | + assert self.frame_id is not None |
| 155 | + assert self.frame_header is not None |
| 156 | + assert self.frame_data is not None |
| 157 | + |
| 158 | + columns: list[str] = [] |
151 | 159 |
|
152 | | - columns.append(len(self.frame_data)) |
| 160 | + columns.append(str(len(self.frame_data))) |
153 | 161 | columns.append(message['type']) |
| 162 | + |
154 | 163 | for counter in message['counters']: |
155 | 164 | value = list(counter.values())[0] |
156 | | - columns.append(f'{value:0.2f}') |
| 165 | + columns.append( f'{value:0.2f}') |
157 | 166 | columns.append('|'.join(message['labels'])) |
158 | 167 |
|
159 | 168 | self.frame_data.append(columns) |
|
0 commit comments