如何从ATS获取客户端平均响应时间(单位,毫秒)?
生活随笔
收集整理的這篇文章主要介紹了
如何从ATS获取客户端平均响应时间(单位,毫秒)?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
需求
運維組在zabbix中需要獲取緩存節點中每臺ats上的客戶端平均響應時間這個指標,來向用戶展示我們緩存服務的QoS指標,如何實現呢?
思路
需要理順traffic_top.cc的源碼實現細節: 首先命令行運行 tstop 從下圖中看到我們需要得到的指標是Resp(ms)這個參數,它是如何實現的呢?
要了解這個參數的實現方法,我們只能去看ts_top的源碼,以ATS 5.3.0版本為例,就是cmd/traffic_top下面的文件traffic_top.cc以及stats.h, 具體的計算細節在stats.h中,平均響應時間是這兩個統計項的比值: proxy.process.http.total_transactions_time ? ? ? ? ?1445571922275 proxy.process.http.incoming_requests ? ? ? ? ? ? ? ?9372 再除以10000000,就可以了,我從源碼中看到的
需要讓ats開啟stats_over_http插件
通過http接口獲取json文件,解析出這兩項,相除就可以
以我上面的截圖的例子為例,該ATS上客戶端平均響應時間是 1445571922275/9372/10000000 = 15.4
也就是說,該時刻的客戶端平均響應時間是15.4ms
需要理順traffic_top.cc的源碼實現細節: 首先命令行運行 tstop 從下圖中看到我們需要得到的指標是Resp(ms)這個參數,它是如何實現的呢?
要了解這個參數的實現方法,我們只能去看ts_top的源碼,以ATS 5.3.0版本為例,就是cmd/traffic_top下面的文件traffic_top.cc以及stats.h, 具體的計算細節在stats.h中,平均響應時間是這兩個統計項的比值: proxy.process.http.total_transactions_time ? ? ? ? ?1445571922275 proxy.process.http.incoming_requests ? ? ? ? ? ? ? ?9372 再除以10000000,就可以了,我從源碼中看到的
需要讓ats開啟stats_over_http插件
通過http接口獲取json文件,解析出這兩項,相除就可以
以我上面的截圖的例子為例,該ATS上客戶端平均響應時間是 1445571922275/9372/10000000 = 15.4
也就是說,該時刻的客戶端平均響應時間是15.4ms
總結
以上是生活随笔為你收集整理的如何从ATS获取客户端平均响应时间(单位,毫秒)?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python多线程下的信号处理程序示例
- 下一篇: 多线程中使用mktime和setenv函