blob: bf748af9e5e1223d9b5c2126d6ff41862d9b7c3b [file] [log] [blame]
Tatyana Leontovich09b7b012017-07-10 12:53:45 +03001import json
2
3from tcp_tests.managers.clients import http_client
4
5
6class PrometheusClient(object):
7 def __init__(self, host, port, proto):
8 self.url = '{0}://{1}:{2}'.format(proto, host, port)
9 self.client = http_client.HttpClient(base_url=self.url)
10
11 def get_targets(self):
12 _, resp = self.client.get("/api/v1/targets")
13 targets = json.loads(resp)
14 return targets["data"]["activeTargets"]
15
16 def get_query(self, query, timestamp=None):
17 params = {
18 "query": query
19 }
20
21 if timestamp is not None:
22 params.update({"time": timestamp})
23
24 _, resp = self.client.get("/api/v1/query", params=params)
25
26 query_result = json.loads(resp)
27 if query_result["status"] != "success":
28 raise Exception("Failed resp: {}".format(resp))
29
30 if query_result["data"]["resultType"] == "vector":
31 return query_result["data"]["result"]