|
@@ -10,7 +10,8 @@ var rpcCallCnt = &Metric{
|
|
|
ID: "rpcCallCnt",
|
|
|
Name: "rpc_call_total",
|
|
|
Description: "HOW MANY RPC CALL",
|
|
|
- Type: "counter",
|
|
|
+ Type: "counter_vec",
|
|
|
+ Args: []string{"service"},
|
|
|
}
|
|
|
|
|
|
var rpcCallDur = &Metric{
|
|
@@ -38,7 +39,7 @@ type Metric struct {
|
|
|
type Prometheus struct {
|
|
|
MetricsList []*Metric
|
|
|
MetricsPath string
|
|
|
- CallCnt prometheus.Counter
|
|
|
+ CallCnt prometheus.CounterVec
|
|
|
CallDur *prometheus.HistogramVec
|
|
|
}
|
|
|
|
|
@@ -79,69 +80,61 @@ func NewMetric(m *Metric, subsystem string) prometheus.Collector {
|
|
|
case "counter_vec":
|
|
|
metric = prometheus.NewCounterVec(
|
|
|
prometheus.CounterOpts{
|
|
|
- Subsystem: subsystem,
|
|
|
- Name: m.Name,
|
|
|
- Help: m.Description,
|
|
|
+ Name: m.Name,
|
|
|
+ Help: m.Description,
|
|
|
},
|
|
|
m.Args,
|
|
|
)
|
|
|
case "counter":
|
|
|
metric = prometheus.NewCounter(
|
|
|
prometheus.CounterOpts{
|
|
|
- Subsystem: subsystem,
|
|
|
- Name: m.Name,
|
|
|
- Help: m.Description,
|
|
|
+ Name: m.Name,
|
|
|
+ Help: m.Description,
|
|
|
},
|
|
|
)
|
|
|
case "gauge_vec":
|
|
|
metric = prometheus.NewGaugeVec(
|
|
|
prometheus.GaugeOpts{
|
|
|
- Subsystem: subsystem,
|
|
|
- Name: m.Name,
|
|
|
- Help: m.Description,
|
|
|
+ Name: m.Name,
|
|
|
+ Help: m.Description,
|
|
|
},
|
|
|
m.Args,
|
|
|
)
|
|
|
case "gauge":
|
|
|
metric = prometheus.NewGauge(
|
|
|
prometheus.GaugeOpts{
|
|
|
- Subsystem: subsystem,
|
|
|
- Name: m.Name,
|
|
|
- Help: m.Description,
|
|
|
+ Name: m.Name,
|
|
|
+ Help: m.Description,
|
|
|
},
|
|
|
)
|
|
|
case "histogram_vec":
|
|
|
metric = prometheus.NewHistogramVec(
|
|
|
prometheus.HistogramOpts{
|
|
|
- Subsystem: subsystem,
|
|
|
- Name: m.Name,
|
|
|
- Help: m.Description,
|
|
|
+ Name: m.Name,
|
|
|
+ Help: m.Description,
|
|
|
},
|
|
|
m.Args,
|
|
|
)
|
|
|
case "histogram":
|
|
|
metric = prometheus.NewHistogram(
|
|
|
prometheus.HistogramOpts{
|
|
|
- Subsystem: subsystem,
|
|
|
- Name: m.Name,
|
|
|
- Help: m.Description,
|
|
|
+ Name: m.Name,
|
|
|
+ Help: m.Description,
|
|
|
},
|
|
|
)
|
|
|
case "summary_vec":
|
|
|
metric = prometheus.NewSummaryVec(
|
|
|
prometheus.SummaryOpts{
|
|
|
- Subsystem: subsystem,
|
|
|
- Name: m.Name,
|
|
|
- Help: m.Description,
|
|
|
+ Name: m.Name,
|
|
|
+ Help: m.Description,
|
|
|
},
|
|
|
m.Args,
|
|
|
)
|
|
|
case "summary":
|
|
|
metric = prometheus.NewSummary(
|
|
|
prometheus.SummaryOpts{
|
|
|
- Subsystem: subsystem,
|
|
|
- Name: m.Name,
|
|
|
- Help: m.Description,
|
|
|
+ Name: m.Name,
|
|
|
+ Help: m.Description,
|
|
|
},
|
|
|
)
|
|
|
}
|
|
@@ -156,7 +149,7 @@ func (p *Prometheus) registerMetrics(sub string) {
|
|
|
}
|
|
|
switch metricDef {
|
|
|
case rpcCallCnt:
|
|
|
- p.CallCnt = metric.(prometheus.Counter)
|
|
|
+ p.CallCnt = metric.(prometheus.CounterVec)
|
|
|
case rpcCallDur:
|
|
|
p.CallDur = metric.(*prometheus.HistogramVec)
|
|
|
}
|