in redash/query_runner/influx_db.py [0:0]
def _transform_result(results):
result_columns = []
result_rows = []
for result in results:
for series in result.raw.get("series", []):
for column in series["columns"]:
if column not in result_columns:
result_columns.append(column)
tags = series.get("tags", {})
for key in tags.keys():
if key not in result_columns:
result_columns.append(key)
for result in results:
for series in result.raw.get("series", []):
for point in series["values"]:
result_row = {}
for column in result_columns:
tags = series.get("tags", {})
if column in tags:
result_row[column] = tags[column]
elif column in series["columns"]:
index = series["columns"].index(column)
value = point[index]
result_row[column] = value
result_rows.append(result_row)
return json_dumps(
{"columns": [{"name": c} for c in result_columns], "rows": result_rows}
)