php语言使用statsd统计指标模板
生活随笔
收集整理的這篇文章主要介紹了
php语言使用statsd统计指标模板
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
statsd可進(jìn)行數(shù)據(jù)的簡(jiǎn)單計(jì)算,作為數(shù)據(jù)中間層服務(wù),支持原值gauge,時(shí)間值timing,計(jì)數(shù)值counter等數(shù)據(jù)類型,用于常用數(shù)據(jù)統(tǒng)計(jì)場(chǎng)景。
php語言推送udp數(shù)據(jù)到statsd服務(wù)代碼示例如下:
/** 標(biāo)準(zhǔn)gauge統(tǒng)計(jì),用于記錄固定值* metric: 指標(biāo)名* value: 固定值* ags: 用戶自定義tags,用于指標(biāo)查詢展示*/public static function Gauges($metric, $value, $tags = null){self::sendMetric("g", $metric, $value, $tags);}/*** 標(biāo)準(zhǔn)counter統(tǒng)計(jì),用于常規(guī)打點(diǎn)計(jì)數(shù)(每次增加$value)* metric: 指標(biāo)名* value: 計(jì)數(shù)值* ags: 用戶自定義tags, 用于指標(biāo)查詢展示*/public static function Counters($metric, $value, $tags = null){self::sendMetric("c", $metric, $value, $tags);}/** 標(biāo)準(zhǔn)timings統(tǒng)計(jì),用于記錄時(shí)間值* metric: 指標(biāo)名* value: 時(shí)間值(ms)* ags: 用戶自定義tags,用于指標(biāo)查詢展示*/public static function Timings($metric, $value, $tags = null){self::sendMetric("ms", $metric, $value, $tags);}/*** 發(fā)送統(tǒng)計(jì)指標(biāo)到statsd* type: 數(shù)據(jù)類型,c/ms/g/s* metric:指標(biāo)名* value:指標(biāo)值* tags:用戶自定義tags,用于指標(biāo)查詢展示*/public static function sendMetric($type, $metric, $value, $tags = null){$lines = array();$lines[] = $metric . ':' . $value;$lines[] = $type;$tags["_project_"] = 'www.xiaoxinxiaoxina.com'; //項(xiàng)目名(域名),用于指標(biāo)查詢展示$tags["_instance_"] = $_SERVER['SERVER_ADDR']; //服務(wù)器地址,用于指標(biāo)查詢展示$new_tags = array();foreach ($tags as $k => $v) {$new_tags[] = "{$k}:{$v}";}$lines[] = "#" . implode(",", $new_tags);$message = implode("|", $lines);$statsdServer = array("10.10.10.10", "8125");$statsdSocket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);socket_sendto($statsdSocket, $message, strlen($message), 0, $statsdServer[0], $statsdServer[1]);}?
總結(jié)
以上是生活随笔為你收集整理的php语言使用statsd统计指标模板的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: telegraf output inpu
- 下一篇: 信号处理常用算法介绍