def _collect_ts_container_monitoring(self, rd): """ Collect time series data from 'PATH_CONTAINER_MONITORING' Data: list of tuples(timestamp, dict(docker stats)) Returns list of rows """ samples = read_json(os.path.join(rd, PATH_CONTAINER_MONITORING)) rows = list() min_time = min([ts for (ts, smpl) in samples]) for (ts, smpl) in samples: row = dict() row["timestamp"] = ts - min_time row.update(self._flat_sample(smpl)) rows.append(row) return rows
def _collect_ecs(self, rd): """ Collect ECs from 'PATH_EX_CONFIG' """ r = dict() jo = read_json(os.path.join(rd, PATH_EX_CONFIG)) r["run_id"] = jo.get("run_id", -1) r["experiment_name"] = jo.get("name") if "parameter" in jo: for k, v in jo.get("parameter").items(): # clean up the parameter keys k = k.replace("ep::", "param::") k = k.replace("function", "func") k = k.replace("::", "__") r[k] = v return r
def _collect_times(self, rd): """ Collect experiment times from 'PATH_EXPERIMENT_TIMES' """ return read_json(os.path.join(rd, PATH_EXPERIMENT_TIMES))