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