@@ -16,13 +16,12 @@ package collectors
1616import (
1717 "errors"
1818 "fmt"
19+ "log/slog"
1920 "math"
2021 "strings"
2122 "sync"
2223 "time"
2324
24- "github.com/go-kit/log"
25- "github.com/go-kit/log/level"
2625 "github.com/prometheus/client_golang/prometheus"
2726 "golang.org/x/net/context"
2827 "google.golang.org/api/monitoring/v3"
@@ -53,7 +52,7 @@ type MonitoringCollector struct {
5352 lastScrapeDurationSecondsMetric prometheus.Gauge
5453 collectorFillMissingLabels bool
5554 monitoringDropDelegatedProjects bool
56- logger log .Logger
55+ logger * slog .Logger
5756 counterStore DeltaCounterStore
5857 histogramStore DeltaHistogramStore
5958 aggregateDeltas bool
@@ -120,10 +119,10 @@ type DeltaHistogramStore interface {
120119 ListMetrics (metricDescriptorName string ) []* HistogramMetric
121120}
122121
123- func NewMonitoringCollector (projectID string , monitoringService * monitoring.Service , opts MonitoringCollectorOptions , logger log .Logger , counterStore DeltaCounterStore , histogramStore DeltaHistogramStore ) (* MonitoringCollector , error ) {
122+ func NewMonitoringCollector (projectID string , monitoringService * monitoring.Service , opts MonitoringCollectorOptions , logger * slog .Logger , counterStore DeltaCounterStore , histogramStore DeltaHistogramStore ) (* MonitoringCollector , error ) {
124123 const subsystem = "monitoring"
125124
126- logger = log .With (logger , "project_id" , projectID )
125+ logger = logger .With ("project_id" , projectID )
127126
128127 apiCallsTotalMetric := prometheus .NewCounter (
129128 prometheus.CounterOpts {
@@ -237,7 +236,7 @@ func (c *MonitoringCollector) Collect(ch chan<- prometheus.Metric) {
237236 if err := c .reportMonitoringMetrics (ch , begun ); err != nil {
238237 errorMetric = float64 (1 )
239238 c .scrapeErrorsTotalMetric .Inc ()
240- level . Error ( c .logger ). Log ( "msg" , "Error while getting Google Stackdriver Monitoring metrics" , "err" , err )
239+ c .logger . Error ( "Error while getting Google Stackdriver Monitoring metrics" , "err" , err )
241240 }
242241 c .scrapeErrorsTotalMetric .Collect (ch )
243242
@@ -283,7 +282,7 @@ func (c *MonitoringCollector) reportMonitoringMetrics(ch chan<- prometheus.Metri
283282 wg .Add (1 )
284283 go func (metricDescriptor * monitoring.MetricDescriptor , ch chan <- prometheus.Metric , startTime , endTime time.Time ) {
285284 defer wg .Done ()
286- level . Debug ( c .logger ). Log ( "msg" , "retrieving Google Stackdriver Monitoring metrics for descriptor" , "descriptor" , metricDescriptor .Type )
285+ c .logger . Debug ( "retrieving Google Stackdriver Monitoring metrics for descriptor" , "descriptor" , metricDescriptor .Type )
287286 filter := fmt .Sprintf ("metric.type=\" %s\" " , metricDescriptor .Type )
288287 if c .monitoringDropDelegatedProjects {
289288 filter = fmt .Sprintf (
@@ -298,11 +297,11 @@ func (c *MonitoringCollector) reportMonitoringMetrics(ch chan<- prometheus.Metri
298297 ingestDelay := metricDescriptor .Metadata .IngestDelay
299298 ingestDelayDuration , err := time .ParseDuration (ingestDelay )
300299 if err != nil {
301- level . Error ( c .logger ). Log ( "msg" , "error parsing ingest delay from metric metadata" , "descriptor" , metricDescriptor .Type , "err" , err , "delay" , ingestDelay )
300+ c .logger . Error ( "error parsing ingest delay from metric metadata" , "descriptor" , metricDescriptor .Type , "err" , err , "delay" , ingestDelay )
302301 errChannel <- err
303302 return
304303 }
305- level . Debug ( c .logger ). Log ( "msg" , "adding ingest delay" , "descriptor" , metricDescriptor .Type , "delay" , ingestDelay )
304+ c .logger . Debug ( "adding ingest delay" , "descriptor" , metricDescriptor .Type , "delay" , ingestDelay )
306305 endTime = endTime .Add (ingestDelayDuration * - 1 )
307306 startTime = startTime .Add (ingestDelayDuration * - 1 )
308307 }
@@ -313,7 +312,7 @@ func (c *MonitoringCollector) reportMonitoringMetrics(ch chan<- prometheus.Metri
313312 }
314313 }
315314
316- level . Debug ( c .logger ). Log ( "msg" , "retrieving Google Stackdriver Monitoring metrics with filter" , "filter" , filter )
315+ c .logger . Debug ( "retrieving Google Stackdriver Monitoring metrics with filter" , "filter" , filter )
317316
318317 timeSeriesListCall := c .monitoringService .Projects .TimeSeries .List (utils .ProjectResource (c .projectID )).
319318 Filter (filter ).
@@ -324,15 +323,15 @@ func (c *MonitoringCollector) reportMonitoringMetrics(ch chan<- prometheus.Metri
324323 c .apiCallsTotalMetric .Inc ()
325324 page , err := timeSeriesListCall .Do ()
326325 if err != nil {
327- level . Error ( c .logger ). Log ( "msg" , "error retrieving Time Series metrics for descriptor" , "descriptor" , metricDescriptor .Type , "err" , err )
326+ c .logger . Error ( "error retrieving Time Series metrics for descriptor" , "descriptor" , metricDescriptor .Type , "err" , err )
328327 errChannel <- err
329328 break
330329 }
331330 if page == nil {
332331 break
333332 }
334333 if err := c .reportTimeSeriesMetrics (page , metricDescriptor , ch , begun ); err != nil {
335- level . Error ( c .logger ). Log ( "msg" , "error reporting Time Series metrics for descriptor" , "descriptor" , metricDescriptor .Type , "err" , err )
334+ c .logger . Error ( "error reporting Time Series metrics for descriptor" , "descriptor" , metricDescriptor .Type , "err" , err )
336335 errChannel <- err
337336 break
338337 }
@@ -368,7 +367,7 @@ func (c *MonitoringCollector) reportMonitoringMetrics(ch chan<- prometheus.Metri
368367 }
369368
370369 if cached := c .descriptorCache .Lookup (metricsTypePrefix ); cached != nil {
371- level . Debug ( c .logger ). Log ( "msg" , "using cached Google Stackdriver Monitoring metric descriptors starting with" , "prefix" , metricsTypePrefix )
370+ c .logger . Debug ( "using cached Google Stackdriver Monitoring metric descriptors starting with" , "prefix" , metricsTypePrefix )
372371 if err := metricDescriptorsFunction (cached ); err != nil {
373372 errChannel <- err
374373 }
@@ -381,7 +380,7 @@ func (c *MonitoringCollector) reportMonitoringMetrics(ch chan<- prometheus.Metri
381380 return metricDescriptorsFunction (r .MetricDescriptors )
382381 }
383382
384- level . Debug ( c .logger ). Log ( "msg" , "listing Google Stackdriver Monitoring metric descriptors starting with" , "prefix" , metricsTypePrefix )
383+ c .logger . Debug ( "listing Google Stackdriver Monitoring metric descriptors starting with" , "prefix" , metricsTypePrefix )
385384 if err := c .monitoringService .Projects .MetricDescriptors .List (utils .ProjectResource (c .projectID )).
386385 Filter (filter ).
387386 Pages (ctx , callback ); err != nil {
@@ -396,7 +395,7 @@ func (c *MonitoringCollector) reportMonitoringMetrics(ch chan<- prometheus.Metri
396395 wg .Wait ()
397396 close (errChannel )
398397
399- level . Debug ( c .logger ). Log ( "msg" , "Done reporting monitoring metrics" )
398+ c .logger . Debug ( "Done reporting monitoring metrics" )
400399 return <- errChannel
401400}
402401
@@ -500,12 +499,12 @@ func (c *MonitoringCollector) reportTimeSeriesMetrics(
500499 if err == nil {
501500 timeSeriesMetrics .CollectNewConstHistogram (timeSeries , newestEndTime , labelKeys , dist , buckets , labelValues , timeSeries .MetricKind )
502501 } else {
503- level . Debug ( c .logger ). Log ( "msg" , "discarding" , "resource" , timeSeries .Resource .Type , "metric" ,
502+ c .logger . Debug ( "discarding" , "resource" , timeSeries .Resource .Type , "metric" ,
504503 timeSeries .Metric .Type , "err" , err )
505504 }
506505 continue
507506 default :
508- level . Debug ( c .logger ). Log ( "msg" , "discarding" , "value_type" , timeSeries .ValueType , "metric" , timeSeries )
507+ c .logger . Debug ( "discarding" , "value_type" , timeSeries .ValueType , "metric" , timeSeries )
509508 continue
510509 }
511510
@@ -569,7 +568,7 @@ func (c *MonitoringCollector) generateHistogramBuckets(
569568func (c * MonitoringCollector ) keyExists (labelKeys []string , key string ) bool {
570569 for _ , item := range labelKeys {
571570 if item == key {
572- level . Debug ( c .logger ). Log ( "msg" , "Found duplicate label key" , "key" , key )
571+ c .logger . Debug ( "Found duplicate label key" , "key" , key )
573572 return true
574573 }
575574 }
0 commit comments