@@ -17,12 +17,11 @@ package collector
1717import (
1818 "errors"
1919 "fmt"
20+ "log/slog"
2021 "sync"
2122 "time"
2223
2324 "github.com/alecthomas/kingpin/v2"
24- "github.com/go-kit/log"
25- "github.com/go-kit/log/level"
2625 "github.com/prometheus/client_golang/prometheus"
2726)
2827
@@ -50,7 +49,7 @@ const (
5049)
5150
5251var (
53- factories = make (map [string ]func (config * NodeCollectorConfig , logger log .Logger ) (Collector , error ))
52+ factories = make (map [string ]func (config * NodeCollectorConfig , logger * slog .Logger ) (Collector , error ))
5453 initiatedCollectorsMtx = sync.Mutex {}
5554 initiatedCollectors = make (map [string ]Collector )
5655 collectorStateGlobal = make (map [string ]bool )
@@ -79,7 +78,7 @@ func GetAvailableCollectors() []string {
7978 return availableCollectors
8079}
8180
82- func registerCollector (collector string , isDefaultEnabled bool , factory func (config * NodeCollectorConfig , logger log .Logger ) (Collector , error )) {
81+ func registerCollector (collector string , isDefaultEnabled bool , factory func (config * NodeCollectorConfig , logger * slog .Logger ) (Collector , error )) {
8382 var helpDefaultState string
8483 if isDefaultEnabled {
8584 helpDefaultState = "enabled"
@@ -102,7 +101,7 @@ func registerCollector(collector string, isDefaultEnabled bool, factory func(con
102101// NodeCollector implements the prometheus.Collector interface.
103102type NodeCollector struct {
104103 Collectors map [string ]Collector
105- logger log .Logger
104+ logger * slog .Logger
106105}
107106
108107// DisableDefaultCollectors sets the collector state to false for all collectors which
@@ -128,7 +127,7 @@ func collectorFlagAction(collector string) func(ctx *kingpin.ParseContext) error
128127}
129128
130129// NewNodeCollector creates a new NodeCollector.
131- func NewNodeCollector (config * NodeCollectorConfig , logger log .Logger , filters ... string ) (* NodeCollector , error ) {
130+ func NewNodeCollector (config * NodeCollectorConfig , logger * slog .Logger , filters ... string ) (* NodeCollector , error ) {
132131 f := make (map [string ]bool )
133132 for _ , filter := range filters {
134133 enabled , exist := config .Collectors [filter ]
@@ -151,7 +150,7 @@ func NewNodeCollector(config *NodeCollectorConfig, logger log.Logger, filters ..
151150 if collector , ok := initiatedCollectors [key ]; ok && config .AllowCachingOfCollectors {
152151 collectors [key ] = collector
153152 } else {
154- collector , err := factories [key ](config , log .With (logger , "collector" , key ))
153+ collector , err := factories [key ](config , logger .With ("collector" , key ))
155154 if err != nil {
156155 return nil , err
157156 }
@@ -181,21 +180,21 @@ func (n NodeCollector) Collect(ch chan<- prometheus.Metric) {
181180 wg .Wait ()
182181}
183182
184- func execute (name string , c Collector , ch chan <- prometheus.Metric , logger log .Logger ) {
183+ func execute (name string , c Collector , ch chan <- prometheus.Metric , logger * slog .Logger ) {
185184 begin := time .Now ()
186185 err := c .Update (ch )
187186 duration := time .Since (begin )
188187 var success float64
189188
190189 if err != nil {
191190 if IsNoDataError (err ) {
192- level .Debug (logger ). Log ( "msg" , "collector returned no data" , "name" , name , "duration_seconds" , duration .Seconds (), "err" , err )
191+ logger .Debug ("collector returned no data" , "name" , name , "duration_seconds" , duration .Seconds (), "err" , err )
193192 } else {
194- level .Error (logger ). Log ( "msg" , "collector failed" , "name" , name , "duration_seconds" , duration .Seconds (), "err" , err )
193+ logger .Error ("collector failed" , "name" , name , "duration_seconds" , duration .Seconds (), "err" , err )
195194 }
196195 success = 0
197196 } else {
198- level .Debug (logger ). Log ( "msg" , "collector succeeded" , "name" , name , "duration_seconds" , duration .Seconds ())
197+ logger .Debug ("collector succeeded" , "name" , name , "duration_seconds" , duration .Seconds ())
199198 success = 1
200199 }
201200 ch <- prometheus .MustNewConstMetric (scrapeDurationDesc , prometheus .GaugeValue , duration .Seconds (), name )
0 commit comments