in otava/series.py [0:0]
def to_json(self):
change_points_json = {}
for metric, cps in self.change_points.items():
change_points_json[metric] = [cp.to_json(rounded=False) for cp in cps]
weak_change_points_json = {}
for metric, cps in self.weak_change_points.items():
weak_change_points_json[metric] = [cp.to_json(rounded=False) for cp in cps]
data_json = {}
for metric, datapoints in self.__series.data.items():
data_json[metric] = [float(d) if d is not None else None for d in datapoints]
return {
"test_name": self.test_name(),
"time": self.time(),
"change_points_timestamp": self.change_points_timestamp,
"branch_name": self.branch_name(),
"options": self.options.to_json(),
"metrics": self.__series.metrics,
"attributes": self.__series.attributes,
"data": self.__series.data,
"change_points": change_points_json,
"weak_change_points": weak_change_points_json
}