(self)
| 101 | self.data[key] = record |
| 102 | |
| 103 | def save(self): |
| 104 | ensure_directory(self.path.parent) |
| 105 | |
| 106 | data = defaultdict(list) |
| 107 | for record in self.data.values(): |
| 108 | data[UUID_KEY].append(record.uuid) |
| 109 | data[WORKLOAD_KEY].append(record.workload) |
| 110 | data[WORKLOAD_PARAMS_KEY].append(record.workload_params) |
| 111 | data[ENVIRONMENT_KEY].append(record.environment) |
| 112 | data[ENVIRONMENT_PARAMS_KEY].append(record.environment_params) |
| 113 | data[INDEX_KEY].append(record.index) |
| 114 | data[BENCHMARK_METADATA_KEY].append(record.benchmark_metadata) |
| 115 | data[DURATION_KEY].append(record.duration) |
| 116 | data[METADATA_KEY].append(record.metadata) |
| 117 | data[TIMEOUT_KEY].append(record.timeout) |
| 118 | data[TIMESTAMP_KEY].append(record.timestamp) |
| 119 | |
| 120 | df = pd.DataFrame(data) |
| 121 | df.to_json(self.path, orient="split", index=False) |
| 122 | |
| 123 | def filter(self, identifiers: List[BenchmarkIdentifier]) -> "Database": |
| 124 | keys = set(create_identifier_key(identifier) for identifier in identifiers) |
nothing calls this directly
no test coverage detected