Я пытаюсь отследить задержку приложения с помощью prometheus. Есть функция декоратора, которая вычисляет время, затраченное на выполнение функции. Теперь, когда я обертываю ее конечной точкой, полученной из-за черри, ответа от нее нет.
Я также пытался использовать @ cherrypy.tools.register ('before_handler') поверх моего декоратора, а затем присоединяя его как @ cherrypy.tools.monitor_request (), но он будет через исключение аргумента в качестве декораторапринимает функцию.
def monitor_request(func):
def inner1(*args, **kwargs):
begin = time.time()
func(*args, **kwargs)
end = time.time()
diff = end-begin
REQUEST_LATENCY.labels(func.__name__).observe(diff)
REQUEST_COUNT.labels(func.__name__).inc()
return inner1
@cherrypy.expose
@monitor_request
def health1(self):
"""Give back health status"""
return "is_healthy"