@@ -18,15 +18,14 @@ import (
18
18
"encoding/json"
19
19
"fmt"
20
20
"io"
21
+ "log/slog"
21
22
"math"
22
23
"os"
23
24
"sort"
24
25
"strings"
25
26
"time"
26
27
27
28
"cloud.google.com/go/bigquery"
28
- "github.com/go-kit/log"
29
- "github.com/go-kit/log/level"
30
29
"github.com/pkg/errors"
31
30
"github.com/prometheus/client_golang/prometheus"
32
31
"github.com/prometheus/common/model"
@@ -37,7 +36,7 @@ import (
37
36
38
37
// BigqueryClient allows sending batches of Prometheus samples to Bigquery.
39
38
type BigqueryClient struct {
40
- logger log .Logger
39
+ logger slog .Logger
41
40
client bigquery.Client
42
41
datasetID string
43
42
tableID string
@@ -50,13 +49,13 @@ type BigqueryClient struct {
50
49
}
51
50
52
51
// NewClient creates a new Client.
53
- func NewClient (logger log .Logger , googleAPIjsonkeypath , googleProjectID , googleAPIdatasetID , googleAPItableID string , remoteTimeout time.Duration ) * BigqueryClient {
52
+ func NewClient (logger slog .Logger , googleAPIjsonkeypath , googleProjectID , googleAPIdatasetID , googleAPItableID string , remoteTimeout time.Duration ) * BigqueryClient {
54
53
ctx := context .Background ()
55
54
bigQueryClientOptions := []option.ClientOption {}
56
55
if googleAPIjsonkeypath != "" {
57
56
jsonFile , err := os .Open (googleAPIjsonkeypath )
58
57
if err != nil {
59
- level .Error (logger ). Log ("err" , err ) //nolint:errcheck
58
+ logger .Error ("failed to open google API json key" , slog . Any ("err" , err ))
60
59
os .Exit (1 )
61
60
}
62
61
@@ -65,7 +64,7 @@ func NewClient(logger log.Logger, googleAPIjsonkeypath, googleProjectID, googleA
65
64
var result map [string ]interface {}
66
65
err = json .Unmarshal ([]byte (byteValue ), & result )
67
66
if err != nil {
68
- level .Error (logger ). Log ("err" , err ) //nolint:errcheck
67
+ logger .Error ("failed to unmarshal google API json key" , slog . Any ("err" , err ))
69
68
os .Exit (1 )
70
69
}
71
70
@@ -80,13 +79,14 @@ func NewClient(logger log.Logger, googleAPIjsonkeypath, googleProjectID, googleA
80
79
c , err := bigquery .NewClient (ctx , googleProjectID , bigQueryClientOptions ... )
81
80
82
81
if err != nil {
83
- level .Error (logger ). Log ("err" , err ) //nolint:errcheck
82
+ logger .Error ("failed to create new bigquery client" , slog . Any ("err" , err ))
84
83
os .Exit (1 )
85
84
}
86
85
87
- if logger == nil {
88
- logger = log .NewNopLogger ()
89
- }
86
+ // TODO: Fix this
87
+ // if logger == nil {
88
+ // logger = log.NewNopLogger()
89
+ // }
90
90
91
91
return & BigqueryClient {
92
92
logger : logger ,
@@ -180,7 +180,7 @@ func (c *BigqueryClient) Write(timeseries []*prompb.TimeSeries) error {
180
180
for _ , s := range samples {
181
181
v := float64 (s .Value )
182
182
if math .IsNaN (v ) || math .IsInf (v , 0 ) {
183
- //level .Debug(c.logger).Log("msg", " cannot send to BigQuery, skipping sample", "value", v, "sample", s)
183
+ //logger .Debug(" cannot send to BigQuery, skipping sample", slog.Any( "value", v), slog.Any( "sample", s) )
184
184
c .ignoredSamples .Inc ()
185
185
continue
186
186
}
@@ -259,7 +259,7 @@ func (c *BigqueryClient) Read(req *prompb.ReadRequest) (*prompb.ReadResponse, er
259
259
}
260
260
duration := time .Since (begin ).Seconds ()
261
261
c .sqlQueryDuration .Observe (duration )
262
- level . Debug ( c .logger ). Log ( "msg" , " BigQuery SQL query" , "rows" , iter .TotalRows , "duration" , duration ) //nolint:errcheck
262
+ c .logger . Debug ( " BigQuery SQL query" , slog . Any ( "rows" , iter .TotalRows ), slog . Any ( "duration" , duration ))
263
263
}
264
264
265
265
resp := prompb.ReadResponse {
@@ -312,7 +312,7 @@ func (c *BigqueryClient) buildCommand(q *prompb.Query) (string, error) {
312
312
matchers = append (matchers , fmt .Sprintf ("timestamp <= TIMESTAMP_MILLIS(%v)" , q .EndTimestampMs ))
313
313
314
314
query := fmt .Sprintf ("SELECT metricname, tags, UNIX_MILLIS(timestamp) as timestamp, value FROM %s.%s WHERE %v ORDER BY timestamp" , c .datasetID , c .tableID , strings .Join (matchers , " AND " ))
315
- level . Debug ( c .logger ). Log ( "msg" , " BigQuery read" , "sql query" , query ) //nolint:errcheck
315
+ c .logger . Debug ( " BigQuery read" , slog . Any ( "sql query" , query ))
316
316
317
317
return query , nil
318
318
}
0 commit comments