Skip to content

Commit 846db71

Browse files
committed
feat(prometheus): add return type annotation and HTTP error wrapping to execute_query
1 parent 96a3f47 commit 846db71

1 file changed

Lines changed: 7 additions & 2 deletions

File tree

keep/providers/prometheus_provider/prometheus_provider.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ def validate_scopes(self) -> dict[str, bool | str]:
126126
validated_scopes["connectivity"] = str(e)
127127
return validated_scopes
128128

129-
def execute_query(self, query: str):
129+
def execute_query(self, query: str) -> dict:
130130
"""
131131
Public wrapper around _query — exposes PromQL instant queries as an
132132
invokable provider method so AI agents and Keep workflows can query
@@ -138,7 +138,12 @@ def execute_query(self, query: str):
138138
Returns:
139139
dict: The raw ``data`` object from the Prometheus API response.
140140
"""
141-
return self._query(query)
141+
try:
142+
return self._query(query)
143+
except requests.HTTPError as e:
144+
raise Exception(
145+
f"Prometheus query failed ({e.response.status_code}): {e.response.text[:200]}"
146+
) from e
142147

143148
def _query(self, query):
144149
"""

0 commit comments

Comments
 (0)