in tools/load-generator/main.py [0:0]
def query(self, expr):
try:
Querier.query_count.labels(self.target, self.name, expr, self.type).inc()
start = time.time()
params = {"query": expr}
if self.type == "range":
params["start"] = start - self.start
params["end"] = start - self.end
params["step"] = self.step
resp = requests.get(self.url, params)
dur = time.time() - start
if resp.status_code == 404:
print("WARNING :: GroupId#%d : Querier returned 404 for prometheus instance %s." % (self.groupID, self.url))
self.numberOfErrors += 1
if self.numberOfErrors == max_404_errors:
print("ERROR :: GroupId#%d : Querier returned 404 for prometheus instance %s %d times." % (self.groupID, self.url, max_404_errors))
os._exit(1)
elif resp.status_code != 200:
print("WARNING :: GroupId#%d : Querier returned %d for prometheus instance %s." % (self.groupID, resp.status_code, self.url))
else:
print("GroupId#%d : query %s %s, status=%s, size=%d, dur=%.3f" % (self.groupID, self.target, expr, resp.status_code, len(resp.text), dur))
Querier.query_duration.labels(self.target, self.name, expr, self.type).observe(dur)
except IOError as e:
Querier.query_fail_count.labels(self.target, self.name, expr, self.type).inc()
print("WARNING :: GroupId#%d : Could not query prometheus instance %s. \n %s" % (self.groupID, self.url, e))
except Exception as e:
Querier.query_fail_count.labels(self.target, self.name, expr, self.type).inc()
print("WARNING :: GroupId#%d : Could not query prometheus instance %s. \n %s" % (self.groupID, self.url, e))