Files
neon/test_runner/fixtures/endpoint/http.py
Anastasia Lubennikova b78e140fa8 Add installed_extensions prometheus metric
and add /metrics endpoint to compute_ctl to expose such metrics
2024-10-14 10:32:56 +01:00

36 lines
961 B
Python

from __future__ import annotations
import requests
from requests.adapters import HTTPAdapter
class EndpointHttpClient(requests.Session):
def __init__(
self,
port: int,
):
super().__init__()
self.port = port
self.mount("http://", HTTPAdapter())
def dbs_and_roles(self):
res = self.get(f"http://localhost:{self.port}/dbs_and_roles")
res.raise_for_status()
return res.json()
def database_schema(self, database: str):
res = self.get(f"http://localhost:{self.port}/database_schema?database={database}")
res.raise_for_status()
return res.text
def installed_extensions(self):
res = self.get(f"http://localhost:{self.port}/installed_extensions")
res.raise_for_status()
return res.json()
def metrics(self):
res = self.get(f"http://localhost:{self.port}/metrics")
res.raise_for_status()
return res.text