From b2c0ff0010fea82138996b56d7e58c9cfbc0d6fb Mon Sep 17 00:00:00 2001 From: jjk-g Date: Fri, 21 Mar 2025 19:05:23 +0000 Subject: [PATCH 1/2] Fix metrics query --- benchmark_serving.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/benchmark_serving.py b/benchmark_serving.py index 9aa2577..18df629 100644 --- a/benchmark_serving.py +++ b/benchmark_serving.py @@ -728,8 +728,16 @@ def print_metrics(metrics: List[str], duration: float, namespace: str, job: str) # handle response if request_post.ok: if response["status"] == "success" and response["data"] and response["data"]["result"]: - metric_results[query_name] = float(response["data"]["result"][0]["value"][1]) - logger.debug("%s: %s" % (query_name, response["data"]["result"][0]["value"][1])) + r = response["data"]["result"] + if not r: + print(f"Failed to get result for {query_name}") + continue + v = r[0].get("value", None) + if not v: + print(f"Failed to get value for result: {r}") + continue + metric_results[query_name] = float(v[1]) + print("%s: %s" % (query_name, v[1])) else: logger.debug("Cloud Monitoring PromQL Error: %s" % (response)) return server_metrics From 4fb3f55b8aca0fcff1b63c123b371fb531cca8bb Mon Sep 17 00:00:00 2001 From: jjk-g Date: Thu, 27 Mar 2025 18:09:51 +0000 Subject: [PATCH 2/2] PR feedback Use logger instead of print. Don't exit early on http and prom errors. --- benchmark_serving.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/benchmark_serving.py b/benchmark_serving.py index 18df629..c171123 100644 --- a/benchmark_serving.py +++ b/benchmark_serving.py @@ -730,20 +730,20 @@ def print_metrics(metrics: List[str], duration: float, namespace: str, job: str) if response["status"] == "success" and response["data"] and response["data"]["result"]: r = response["data"]["result"] if not r: - print(f"Failed to get result for {query_name}") + logger.debug(f"Failed to get result for {query_name}") continue v = r[0].get("value", None) if not v: - print(f"Failed to get value for result: {r}") + logger.debug(f"Failed to get value for result: {r}") continue metric_results[query_name] = float(v[1]) - print("%s: %s" % (query_name, v[1])) + logger.debug("%s: %s" % (query_name, v[1])) else: logger.debug("Cloud Monitoring PromQL Error: %s" % (response)) - return server_metrics + continue else: logger.debug("HTTP Error: %s" % (response)) - return server_metrics + continue server_metrics[metric] = metric_results return server_metrics