Query Time Series Data
Query time series data
This code queries data points from measurements and/or calculations (my Swagger).
def query_timeseries(
start: str,
end: Optional[str],
limit: int = 0,
measurement_uuids: Optional[List[str]] = None,
measurements: Optional[List[Dict[str, str]]] = None,
tags: Optional[Dict[str, str]] = None,
) -> Dict[str, Any]:
assert measurement_uuids or measurements, "Provide MeasurementUUIDs or Measurements"
payload: Dict[str, Any] = {"Start": start, "End": end, "Limit": limit}
if measurement_uuids:
payload["MeasurementUUIDs"] = measurement_uuids
if measurements:
payload["Measurements"] = measurements
if tags is not None:
payload["Tags"] = tags
resp = session.post(f"{BASE_URL}/timeseries/query", json=payload, timeout=60)
resp.raise_for_status()
return resp.json()
# Example: by Database + Measurement
ts_query_result_1 = query_timeseries(
start="2025-09-18T12:08:57.000Z",
end="2025-09-18T13:08:57.000Z",
limit=10,
measurements=[{"Database": "MyDatabase", "Measurement": "MyMeasurement"}]
)
print(json.dumps(ts_query_result_1, indent=2))
# Example: by Measurement UUID
ts_query_result_2 = query_timeseries(
start="2025-09-18T12:08:57.000Z",
end="2025-09-18T13:08:57.000Z",
limit=10,
measurement_uuids=[ts_query_result_1["Series"][0]["MeasurementUUID"]]
)
print(json.dumps(ts_query_result_2, indent=2))