日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 軟件

Prometheus Go client library 詳解

來源: 責(zé)編: 時間:2024-01-03 11:36:15 240觀看
導(dǎo)讀介紹Prometheus 支持 4 種 指標(biāo)類型,分別是 Counter、Gauge、Histogram 和 Summary。Counter 指標(biāo)類型,指標(biāo)值是只能遞增,不能遞減的數(shù)值。需要注意的是,當(dāng) Prometheus server 重啟時,指標(biāo)值會被重置為 0。該指標(biāo)類型可用

介紹

Prometheus 支持 4 種 指標(biāo)類型,分別是 Counter、Gauge、Histogram 和 Summary。csd28資訊網(wǎng)——每日最新資訊28at.com

  • Counter 指標(biāo)類型,指標(biāo)值是只能遞增,不能遞減的數(shù)值。需要注意的是,當(dāng) Prometheus server 重啟時,指標(biāo)值會被重置為 0。該指標(biāo)類型可用于統(tǒng)計接口的請求數(shù)、錯誤數(shù)等使用場景。
  • Gauge 指標(biāo)類型,指標(biāo)值是可增可減的數(shù)值。該指標(biāo)類型可用于統(tǒng)計 CPU、內(nèi)存和硬盤的使用情況,goroutine 的數(shù)量等使用場景。
  • Histogram 指標(biāo)類型,指標(biāo)值基于桶分布。開發(fā)者可以自定義桶的區(qū)間。該指標(biāo)類型可用于統(tǒng)計接口的延時請求數(shù)等使用場景。
  • Summary 指標(biāo)類型,與 Histogram 類似,區(qū)別是 Histogram 直接統(tǒng)計了不同區(qū)間中的指標(biāo)數(shù)值,而 Summary 是基于客戶端級別,因此不能統(tǒng)計多個實例的聚合數(shù)據(jù)。該指標(biāo)類型可用于預(yù)先不知道指標(biāo)桶劃分區(qū)間的場景。

csd28資訊網(wǎng)——每日最新資訊28at.com

使用方式

一般在實際應(yīng)用場景中,通常一個指標(biāo)需要對應(yīng)多條時序數(shù)據(jù)(Label Name 為維度),此時就需要使用支持標(biāo)簽的指標(biāo)類型。csd28資訊網(wǎng)——每日最新資訊28at.com

Prometheus 有 4 種支持標(biāo)簽的指標(biāo)類型,分別是 ConterVec、GaugeVec、HistogramVec、SummaryVec。csd28資訊網(wǎng)——每日最新資訊28at.com

1.CounterVec

CounterVec 與 Counter 的區(qū)別是,它支持 Label,我們可以按照 Lable 維度,將同一個指標(biāo)的數(shù)據(jù)按照 Lable 分組統(tǒng)計。例如,同一個 Api 接口的請求數(shù),我們可以定義 Lable (Code、Method),按照狀態(tài)碼和 HTTP 請求方式,分組統(tǒng)計同一個 Api 接口的請求數(shù)。csd28資訊網(wǎng)——每日最新資訊28at.com

示例代碼:csd28資訊網(wǎng)——每日最新資訊28at.com

var ( // 標(biāo)簽名 labelNames = []string{"host", "code", "path", "method"} // HttpReqs 實例化 CounterVec HttpReqs *prometheus.CounterVec = prometheus.NewCounterVec(prometheus.CounterOpts{  Name: "http_requests_total",  Help: "How many HTTP requests processed, partitioned by status code and HTTP method.", },  labelNames, ))

閱讀上面這段代碼,我們使用 NewCounterVec 創(chuàng)建一個實例,它支持多個方法,我們可以使用其中一個性能相對較高的方法 WithLabelValues,返回一個 Counter。csd28資訊網(wǎng)——每日最新資訊28at.com

示例代碼:csd28資訊網(wǎng)——每日最新資訊28at.com

func Metrics() gin.HandlerFunc { return func(c *gin.Context) {  c.Next()  host := c.RemoteIP()  code := fmt.Sprintf("%d", c.Writer.Status())  method := c.Request.Method  labelsByHttpReqs := []string{host, code, c.FullPath(), method}  prometheus_metrics.HttpReqs.WithLabelValues(labelsByHttpReqs...).Inc() }}

Counter 支持兩個方法,分別是 Inc() 和 Add(),其中 Inc() 將 Counter 增加 1,Add() 將 Counter 增加給定值,需要注意的是,給定值必須為非負(fù)值,否則會引發(fā) panic。csd28資訊網(wǎng)——每日最新資訊28at.com

需要注意的是,在我們創(chuàng)建指標(biāo)之后,還需要使用 Register() 接口的 Register() 方法,注冊之后才可以被收集到指標(biāo)數(shù)據(jù)。如果需要注冊多個指標(biāo),可以使用 MustRegister() 方法。csd28資訊網(wǎng)——每日最新資訊28at.com

示例代碼:csd28資訊網(wǎng)——每日最新資訊28at.com

reg := prometheus.NewRegistry()reg.MustRegister(prometheus_metrics.HttpReqs, prometheus_metrics.OpsQueued, prometheus_metrics.Latencies, prometheus_metrics.Temps)

2.GaugeVec

GaugeVec 與 Gauge 的區(qū)別是,它支持 Label,我們可以按照 Lable 維度,將同一個指標(biāo)的數(shù)據(jù)按照 Lable 分組統(tǒng)計。csd28資訊網(wǎng)——每日最新資訊28at.com

示例代碼:csd28資訊網(wǎng)——每日最新資訊28at.com

var ( labelNamesByOpsQueued = []string{  "user",  "type", } OpsQueued = prometheus.NewGaugeVec(  prometheus.GaugeOpts{   Name:      "ops_queued",   Help:      "Number of blob storage operations waiting to be processed, partitioned by user and type.",  },  labelNamesByOpsQueued, ))

閱讀上面這段代碼,我們使用 NewGaugeVec 創(chuàng)建實例。csd28資訊網(wǎng)——每日最新資訊28at.com

3.HistogramVec

HistogramVec 與 Histogram 的區(qū)別是,它支持 Label,我們可以按照 Lable 維度,將同一個指標(biāo)的數(shù)據(jù)按照 Lable 分組統(tǒng)計。csd28資訊網(wǎng)——每日最新資訊28at.com

示例代碼:csd28資訊網(wǎng)——每日最新資訊28at.com

var ( labelNamesByLatencies = []string{"method", "code"} Latencies             = prometheus.NewHistogramVec(  prometheus.HistogramOpts{   Name:    "http_request_duration_seconds",   Help:    "Tracks the latencies for HTTP requests.",   Buckets: []float64{0.99, 0.9, 0.5},  },  labelNamesByLatencies, ))

4.SummaryVec

SummaryVec 與 Summary 的區(qū)別是,它支持 Label,我們可以按照 Lable 維度,將同一個指標(biāo)的數(shù)據(jù)按照 Lable 分組統(tǒng)計。csd28資訊網(wǎng)——每日最新資訊28at.com

示例代碼:csd28資訊網(wǎng)——每日最新資訊28at.com

var ( labelNamesByTemps = []string{"species"} Temps             = prometheus.NewSummaryVec(  prometheus.SummaryOpts{   Name:       "pond_temperature_celsius",   Help:       "The temperature of the frog pond.",   Objectives: map[float64]float64{0.5: 0.05, 0.9: 0.01, 0.99: 0.001},  },  labelNamesByTemps, ))

閱讀上面這段代碼,使用 NewSummaryVec 創(chuàng)建實例。csd28資訊網(wǎng)——每日最新資訊28at.com

總結(jié)

本文我們主要介紹 4 種指標(biāo)類型的含義,通過 Label 可以將 4 種類型的指標(biāo)數(shù)據(jù),按照 Label 的維度分組統(tǒng)計,我們以支持 Label 的 CounterVec 為例,介紹了它的使用方式,其余 3 種支持 Label 的指標(biāo)也提供了簡單的使用示例。csd28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-56597-0.htmlPrometheus Go client library 詳解

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: Python實戰(zhàn):打造高效多進(jìn)程TCP服務(wù)器,輕松應(yīng)對并發(fā)請求!

下一篇: 11個優(yōu)秀開源TTS引擎

標(biāo)簽:
  • 熱門焦點
  • 7月安卓手機性能榜:紅魔8S Pro再奪榜首

    7月份的手機市場風(fēng)平浪靜,除了紅魔和努比亞帶來了兩款搭載驍龍8Gen2領(lǐng)先版處理器的新機之外,別的也想不到有什么新品了,這也正常,通常6月7月都是手機廠商修整的時間,進(jìn)入8月份之
  • 使用AIGC工具提升安全工作效率

    在日常工作中,安全人員可能會涉及各種各樣的安全任務(wù),包括但不限于:開發(fā)某些安全工具的插件,滿足自己特定的安全需求;自定義github搜索工具,快速查找所需的安全資料、漏洞poc、exp
  • 2天漲粉255萬,又一賽道在抖音爆火

    來源:運營研究社作者 | 張知白編輯 | 楊佩汶設(shè)計 | 晏談夢潔這個暑期,旅游賽道徹底火了:有的「地方」火了——貴州村超旅游收入 1 個月超過 12 億;有的「博主」火了&m
  • 中國家電海外掘金正當(dāng)時|出海專題

    作者|吳南南編輯|胡展嘉運營|陳佳慧出品|零態(tài)LT(ID:LingTai_LT)2023年,出海市場戰(zhàn)況空前,中國創(chuàng)業(yè)者在海外紛紛摩拳擦掌,以期能夠把中國的商業(yè)模式、創(chuàng)業(yè)理念、戰(zhàn)略打法輸出海外,他們依
  • 騰訊蓋樓,字節(jié)拆墻

    來源 | 光子星球撰文 | 吳坤諺編輯 | 吳先之“想重溫暴刷深淵、30+技能搭配暴搓到爽的游戲體驗嗎?一起上晶核,即刻暴打!”曾憑借直播騰訊旗下代理格斗游戲《DNF》一
  • 認(rèn)真聊聊東方甄選:如何告別低垂的果實

    來源:山核桃作者:財經(jīng)無忌爆火一年后,俞敏洪和他的東方甄選依舊是頗受外界關(guān)心的“網(wǎng)紅”。7月5日至9日,為期5天的東方甄選“甘肅行”首次在自有App內(nèi)直播,
  • 華為Mate 60系列用上可變靈動島:正式版體驗將會更出色

    這段時間以來,關(guān)于華為新旗艦的爆料日漸密集。據(jù)此前多方爆料,今年華為將開始恢復(fù)一年雙旗艦戰(zhàn)略,除上半年推出的P60系列外,往年下半年的Mate系列也將
  • 三星Galaxy Z Fold/Flip 5國行售價曝光 :最低7499元/12999元起

    據(jù)官方此前宣布,三星將于7月26日也就是明天在韓國首爾舉辦Unpacked活動,屆時將帶來帶來包括Galaxy Buds 3、Galaxy Watch 6、Galaxy Tab S9、Galaxy
  • 聯(lián)想YOGA 16s 2022筆記本將要推出,屏幕支持觸控功能

    聯(lián)想此前宣布,將于11月2日19:30召開聯(lián)想秋季輕薄新品發(fā)布會,推出聯(lián)想 YOGA 16s 2022 筆記本等新品。官方稱,YOGA 16s 2022 筆記本將搭載 16 英寸屏幕,并且是一
Top 主站蜘蛛池模板: 克东县| 开江县| 高碑店市| 屯昌县| 叶城县| 古交市| 宁陕县| 八宿县| 襄城县| 洞头县| 清苑县| 安宁市| 涟源市| 太仓市| 霍林郭勒市| 炉霍县| 哈尔滨市| 岫岩| 株洲县| 大兴区| 宁波市| 铜梁县| 海晏县| 双城市| 涡阳县| 长春市| 珠海市| 盐边县| 若羌县| 务川| 偃师市| 越西县| 安福县| 启东市| 北川| 新建县| 牡丹江市| 绥阳县| 松江区| 阿拉尔市| 开化县|