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

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

普羅米修斯自定義注冊表不工作

普羅米修斯自定義注冊表不工作

Go
DIEA 2023-03-21 15:17:07
我還在學習普羅米修斯,所以也許我不確定這個問題是否正確。我只需要一個自定義注冊表,我只能在其中收集我的指標。因為我正在學習 Prometheus,所以我真的對 Prometheus 提供的默認指標不感興趣,即所有 go 指標,如go_gc_duration_seconds, go_gc_duration_seconds_count,go_threads等promhttp_metric_handler_requests_in_flightpackage mainimport (    "fmt"    "log"    "math/rand"    "net/http"    "sync"    "time"    "github.com/prometheus/client_golang/prometheus"    "github.com/prometheus/client_golang/prometheus/promhttp")var Types = [2]string{"Random", "Simple"}type Queue struct {    mutex sync.Mutex    jobs  []Job}func (q *Queue) Add(job Job) {    q.mutex.Lock()    q.jobs = append(q.jobs, job)    q.mutex.Unlock()}func (q *Queue) Dequeue() Job {    q.mutex.Lock()    job := q.jobs[0]    q.jobs = q.jobs[1:]    q.mutex.Unlock()    return job}type Job struct {    message string    Type    string}func (j *Job) Run() {    fmt.Println(j.message)}var jobsInQueue = prometheus.NewGaugeVec(    prometheus.GaugeOpts{        Name: "jobs_in_queue",        Help: "Current number of jobs in the queue",    },    []string{"job_type"},)var register = prometheus.NewRegistry()var queue = &Queue{}func init() {    rand.Seed(2)    // prometheus.MustRegister(jobsInQueue)    // register the collector..     register.MustRegister(jobsInQueue)    queue.jobs = make([]Job, 0)}func main() {    go func() {        i := 0        for {            job := Job{}            num := rand.Intn(2)            type_d := Types[num]            job.Type = type_d            job.message = fmt.Sprintf("[%s] job %d", type_d, i)            enqueueJob(job)            fmt.Println(i)            i++            time.Sleep(1 * time.Second)        }    }()    // sleep so that we do not read from a empty queue    time.Sleep(2 * time.Millisecond)    go func() {        for {            runNextJob()            time.Sleep(2 * time.Second)        }    }()    http.Handle("/metrics", promhttp.Handler())    log.Fatal(http.ListenAndServe(":8080", nil))}但是當我運行以下代碼時,我沒有jobs_in_queue在./metrics8080我應該如何完成這項工作。
查看完整描述

1 回答

?
四季花海

TA貢獻1811條經驗 獲得超5個贊

promhttp.Handler() 為默認注冊表創建一個處理程序。你需要使用 promhttp.HandlerFor(registry, HandlerOpts{})



查看完整回答
反對 回復 2023-03-21
  • 1 回答
  • 0 關注
  • 143 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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