INNER CODE UNIT · Python
window_ms
pab1it0/prometheus-mcp-server · src/prometheus_mcp_server/server.py:343
window_ms = round((end_seconds - timestamp(start)) * 1000)
if window_ms <= 0:
return None
end_input = datetime.fromtimestamp(end_seconds, timezone.utc).isoformat(timespec="milliseconds")
try:
step_seconds = float(step)
except ValueError:
units = {"y": 31536000, "w": 604800, "d": 86400, "h": 3600,
"m": 60, "s": 1, "ms": 0.001}
parts = re.findall(r"(\d+)(ms|[ywdhms])", step)
if not parts or "".join(number + unit for number, unit in parts) != step:
return None
step_seconds = sum(int(number) * units[unit] for number, unit in parts)
resolution = f"{step_seconds:.15g}"
return {
"g0.expr": query,
"g0.tab": "0",
"g0.range_input": f"{window_ms}ms",