switch to go-kit/log (#1575)
Signed-off-by: yeya24 <yb532204897@gmail.com>
This commit is contained in:
parent
a80b7d0bc5
commit
2477c5c67d
158 changed files with 3434 additions and 4636 deletions
|
|
@ -19,8 +19,9 @@ import (
|
|||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/go-kit/kit/log"
|
||||
"github.com/go-kit/kit/log/level"
|
||||
"github.com/prometheus/client_golang/prometheus"
|
||||
"github.com/prometheus/common/log"
|
||||
"gopkg.in/alecthomas/kingpin.v2"
|
||||
)
|
||||
|
||||
|
|
@ -48,11 +49,11 @@ const (
|
|||
)
|
||||
|
||||
var (
|
||||
factories = make(map[string]func() (Collector, error))
|
||||
factories = make(map[string]func(logger log.Logger) (Collector, error))
|
||||
collectorState = make(map[string]*bool)
|
||||
)
|
||||
|
||||
func registerCollector(collector string, isDefaultEnabled bool, factory func() (Collector, error)) {
|
||||
func registerCollector(collector string, isDefaultEnabled bool, factory func(logger log.Logger) (Collector, error)) {
|
||||
var helpDefaultState string
|
||||
if isDefaultEnabled {
|
||||
helpDefaultState = "enabled"
|
||||
|
|
@ -73,10 +74,11 @@ func registerCollector(collector string, isDefaultEnabled bool, factory func() (
|
|||
// NodeCollector implements the prometheus.Collector interface.
|
||||
type NodeCollector struct {
|
||||
Collectors map[string]Collector
|
||||
logger log.Logger
|
||||
}
|
||||
|
||||
// NewNodeCollector creates a new NodeCollector.
|
||||
func NewNodeCollector(filters ...string) (*NodeCollector, error) {
|
||||
func NewNodeCollector(logger log.Logger, filters ...string) (*NodeCollector, error) {
|
||||
f := make(map[string]bool)
|
||||
for _, filter := range filters {
|
||||
enabled, exist := collectorState[filter]
|
||||
|
|
@ -91,7 +93,7 @@ func NewNodeCollector(filters ...string) (*NodeCollector, error) {
|
|||
collectors := make(map[string]Collector)
|
||||
for key, enabled := range collectorState {
|
||||
if *enabled {
|
||||
collector, err := factories[key]()
|
||||
collector, err := factories[key](log.With(logger, "collector", key))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
|
@ -100,7 +102,7 @@ func NewNodeCollector(filters ...string) (*NodeCollector, error) {
|
|||
}
|
||||
}
|
||||
}
|
||||
return &NodeCollector{Collectors: collectors}, nil
|
||||
return &NodeCollector{Collectors: collectors, logger: logger}, nil
|
||||
}
|
||||
|
||||
// Describe implements the prometheus.Collector interface.
|
||||
|
|
@ -115,24 +117,24 @@ func (n NodeCollector) Collect(ch chan<- prometheus.Metric) {
|
|||
wg.Add(len(n.Collectors))
|
||||
for name, c := range n.Collectors {
|
||||
go func(name string, c Collector) {
|
||||
execute(name, c, ch)
|
||||
execute(name, c, ch, n.logger)
|
||||
wg.Done()
|
||||
}(name, c)
|
||||
}
|
||||
wg.Wait()
|
||||
}
|
||||
|
||||
func execute(name string, c Collector, ch chan<- prometheus.Metric) {
|
||||
func execute(name string, c Collector, ch chan<- prometheus.Metric, logger log.Logger) {
|
||||
begin := time.Now()
|
||||
err := c.Update(ch)
|
||||
duration := time.Since(begin)
|
||||
var success float64
|
||||
|
||||
if err != nil {
|
||||
log.Errorf("ERROR: %s collector failed after %fs: %s", name, duration.Seconds(), err)
|
||||
level.Error(logger).Log("msg", "collector failed", "name", name, "duration_seconds", duration.Seconds(), "err", err)
|
||||
success = 0
|
||||
} else {
|
||||
log.Debugf("OK: %s collector succeeded after %fs.", name, duration.Seconds())
|
||||
level.Debug(logger).Log("msg", "collector succeeded", "name", name, "duration_seconds", duration.Seconds())
|
||||
success = 1
|
||||
}
|
||||
ch <- prometheus.MustNewConstMetric(scrapeDurationDesc, prometheus.GaugeValue, duration.Seconds(), name)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue