in benchmarking/reporters/remote_reporter/remote_reporter.py [0:0]
def _composeMessages(self, content, category):
logs = []
meta = content[self.META].copy()
meta["command"] = meta["command_str"]
del meta["command_str"]
base_summary = {}
self._convertToInt(meta, base_summary, "time")
self._convertToInt(meta, base_summary, "commit_time")
self._convertToInt(meta, base_summary, "control_time")
self._convertToInt(meta, base_summary, "control_commit_time")
self._convertToInt(meta, base_summary, "regression_direction")
for item in content[self.DATA]:
data = content[self.DATA][item]
new_meta = meta.copy()
if "type" in data:
new_meta["type"] = data["type"]
summary = base_summary.copy()
if "summary" in data:
self._updateSummaryData(data["summary"], summary, "")
if "control_summary" in data:
self._updateSummaryData(data["control_summary"], summary, "control_")
if "diff_summary" in data:
self._updateSummaryData(data["diff_summary"], summary, "diff_")
if "regressed" in data:
summary["regressed"] = data["regressed"]
if "num_runs" in data:
summary["num_runs"] = data["num_runs"]
if "unit" in data:
new_meta["unit"] = data["unit"]
if "info_string" in data:
new_meta["info_string"] = data["info_string"]
# override the default metric if it is specified in the data
if "metric" in data:
new_meta["metric"] = data["metric"]
message = {
"int": summary,
"normal": new_meta,
"normvector": {},
}
if "values" in data:
message["normvector"]["values"] = data["values"]
if "control_values" in data:
message["normvector"]["control_values"] = data["control_values"]
message_string = json.dumps(message, sort_keys=True)
log = {
"category": category,
"message": message_string,
# This allows double quotes, back slashes, etc.
# to work correctly.
"line_escape": False,
}
logs.append(log)
return logs