introduce metric naming test (#3789)

* introduce metric naming test

Signed-off-by: zounengren <zounengren@cmss.chinamobile.com>

* Update metrics.go

Signed-off-by: zounengren <zounengren@cmss.chinamobile.com>
This commit is contained in:
Zou Nengren
2020-03-31 14:07:36 +08:00
committed by GitHub
parent 10d176b811
commit 87214a4c5c
18 changed files with 297 additions and 97 deletions

View File

@@ -8,13 +8,14 @@ import (
// Metrics for the reload plugin
var (
FailedCount = prometheus.NewCounter(prometheus.CounterOpts{
// failedCount is the counter of the number of failed reload attempts.
failedCount = prometheus.NewCounter(prometheus.CounterOpts{
Namespace: plugin.Namespace,
Subsystem: "reload",
Name: "failed_total",
Help: "Counter of the number of failed reload attempts.",
})
// reloadInfo is record the hash value during reload.
reloadInfo = prometheus.NewGaugeVec(prometheus.GaugeOpts{
Namespace: plugin.Namespace,
Subsystem: "reload",

View File

@@ -107,7 +107,7 @@ func hook(event caddy.EventName, info interface{}) error {
reloadInfo.WithLabelValues("md5", hex.EncodeToString(md5sum[:])).Set(1)
if err != nil {
log.Errorf("Corefile changed but reload failed: %s", err)
FailedCount.Add(1)
failedCount.Add(1)
continue
}
// we are done, if the plugin was not set used, then it is not.

View File

@@ -71,7 +71,7 @@ func setup(c *caddy.Controller) error {
once.Do(func() {
caddy.RegisterEventHook("reload", hook)
c.OnRestart(func() error {
metrics.MustRegister(c, reloadInfo, FailedCount)
metrics.MustRegister(c, reloadInfo, failedCount)
return nil
})
})