亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用自定義 python 裝飾器接受帶有cherrypy 暴露端點的參數

使用自定義 python 裝飾器接受帶有cherrypy 暴露端點的參數

慕容708150 2022-06-28 17:15:02
我正在嘗試使用 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 [email protected]@monitor_requestdef health1(self):    """Give back health status"""    return "is_healthy"
查看完整描述

1 回答

?
qq_笑_17

TA貢獻1818條經驗 獲得超7個贊

我沒有返回來自cherrypy端點的響應結果,這是問題。正確的代碼應該是。


    def inner1(*args, **kwargs):

        begin = time.time()

        x = func(*args, **kwargs)

        end = time.time()

        diff = end-begin

        REQUEST_LATENCY.labels(func.__name__).observe(diff)

        REQUEST_COUNT.labels(func.__name__).inc()

        return x

    return inner1


查看完整回答
反對 回復 2022-06-28
  • 1 回答
  • 0 關注
  • 127 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號