@@ -32,9 +32,9 @@ import (
32
32
kubemetrics "k8s.io/component-base/metrics"
33
33
"k8s.io/component-base/metrics/legacyregistry"
34
34
"k8s.io/klog/v2"
35
- "k8s.io/klog/v2/klogr"
36
35
ctrl "sigs.k8s.io/controller-runtime"
37
36
ctrlcache "sigs.k8s.io/controller-runtime/pkg/cache"
37
+ "sigs.k8s.io/controller-runtime/pkg/log/zap"
38
38
ctrlmetrics "sigs.k8s.io/controller-runtime/pkg/metrics"
39
39
"sigs.k8s.io/controller-runtime/pkg/metrics/server"
40
40
basecmd "sigs.k8s.io/custom-metrics-apiserver/pkg/cmd"
@@ -54,10 +54,7 @@ type Adapter struct {
54
54
Message string
55
55
}
56
56
57
- // https://github.com/kedacore/keda/issues/5732
58
- //
59
- //nolint:staticcheck // SA1019: klogr.New is deprecated.
60
- var logger = klogr .New ().WithName ("keda_metrics_adapter" )
57
+ var setupLog = ctrl .Log .WithName ("keda_metrics_adapter" )
61
58
62
59
var (
63
60
adapterClientRequestQPS float32
@@ -72,16 +69,16 @@ var (
72
69
func (a * Adapter ) makeProvider (ctx context.Context ) (provider.ExternalMetricsProvider , error ) {
73
70
scheme := scheme .Scheme
74
71
if err := appsv1 .SchemeBuilder .AddToScheme (scheme ); err != nil {
75
- logger .Error (err , "failed to add apps/v1 scheme to runtime scheme" )
72
+ setupLog .Error (err , "failed to add apps/v1 scheme to runtime scheme" )
76
73
return nil , fmt .Errorf ("failed to add apps/v1 scheme to runtime scheme (%s)" , err )
77
74
}
78
75
if err := kedav1alpha1 .SchemeBuilder .AddToScheme (scheme ); err != nil {
79
- logger .Error (err , "failed to add keda scheme to runtime scheme" )
76
+ setupLog .Error (err , "failed to add keda scheme to runtime scheme" )
80
77
return nil , fmt .Errorf ("failed to add keda scheme to runtime scheme (%s)" , err )
81
78
}
82
79
namespaces , err := kedautil .GetWatchNamespaces ()
83
80
if err != nil {
84
- logger .Error (err , "failed to get watch namespace" )
81
+ setupLog .Error (err , "failed to get watch namespace" )
85
82
return nil , fmt .Errorf ("failed to get watch namespace (%s)" , err )
86
83
}
87
84
@@ -104,23 +101,23 @@ func (a *Adapter) makeProvider(ctx context.Context) (provider.ExternalMetricsPro
104
101
PprofBindAddress : profilingAddr ,
105
102
})
106
103
if err != nil {
107
- logger .Error (err , "failed to setup manager" )
104
+ setupLog .Error (err , "failed to setup manager" )
108
105
return nil , err
109
106
}
110
107
111
- logger .Info ("Connecting Metrics Service gRPC client to the server" , "address" , metricsServiceAddr )
108
+ setupLog .Info ("Connecting Metrics Service gRPC client to the server" , "address" , metricsServiceAddr )
112
109
grpcClient , err := metricsservice .NewGrpcClient (metricsServiceAddr , a .SecureServing .ServerCert .CertDirectory , metricsServiceGRPCAuthority , clientMetrics )
113
110
if err != nil {
114
- logger .Error (err , "error connecting Metrics Service gRPC client to the server" , "address" , metricsServiceAddr )
111
+ setupLog .Error (err , "error connecting Metrics Service gRPC client to the server" , "address" , metricsServiceAddr )
115
112
return nil , err
116
113
}
117
114
go func () {
118
115
if err := mgr .Start (ctx ); err != nil {
119
- logger .Error (err , "controller-runtime encountered an error" )
116
+ setupLog .Error (err , "controller-runtime encountered an error" )
120
117
os .Exit (1 )
121
118
}
122
119
}()
123
- return kedaprovider .NewProvider (ctx , logger , mgr .GetClient (), * grpcClient ), nil
120
+ return kedaprovider .NewProvider (ctx , setupLog , mgr .GetClient (), * grpcClient ), nil
124
121
}
125
122
126
123
// getMetricHandler returns a http handler that exposes metrics from controller-runtime and apiserver
@@ -181,7 +178,7 @@ func RunMetricsServer(ctx context.Context) {
181
178
}
182
179
183
180
go func () {
184
- logger .Info ("starting /metrics server endpoint" )
181
+ setupLog .Info ("starting /metrics server endpoint" )
185
182
// nosemgrep: use-tls
186
183
err := server .ListenAndServe ()
187
184
if err != http .ErrServerClosed {
@@ -192,7 +189,7 @@ func RunMetricsServer(ctx context.Context) {
192
189
go func () {
193
190
<- ctx .Done ()
194
191
if err := server .Shutdown (ctx ); err != nil {
195
- logger .Error (err , "http server shutdown error" )
192
+ setupLog .Error (err , "http server shutdown error" )
196
193
}
197
194
}()
198
195
}
@@ -207,15 +204,15 @@ func generateDefaultMetricsServiceAddr() string {
207
204
func printWelcomeMsg (cmd * Adapter ) error {
208
205
clientset , err := cmd .DiscoveryClient ()
209
206
if err != nil {
210
- logger .Error (err , "not able to get Kubernetes version" )
207
+ setupLog .Error (err , "not able to get Kubernetes version" )
211
208
return err
212
209
}
213
210
version , err := clientset .ServerVersion ()
214
211
if err != nil {
215
- logger .Error (err , "not able to get Kubernetes version" )
212
+ setupLog .Error (err , "not able to get Kubernetes version" )
216
213
return err
217
214
}
218
- kedautil .PrintWelcome (logger , kedautil .NewK8sVersion (version ), "metrics server" )
215
+ kedautil .PrintWelcome (setupLog , kedautil .NewK8sVersion (version ), "metrics server" )
219
216
220
217
return nil
221
218
}
@@ -225,7 +222,7 @@ func main() {
225
222
var err error
226
223
defer func () {
227
224
if err != nil {
228
- logger .Error (err , "unable to run external metrics adapter" )
225
+ setupLog .Error (err , "unable to run external metrics adapter" )
229
226
}
230
227
}()
231
228
@@ -235,6 +232,9 @@ func main() {
235
232
cmd := & Adapter {}
236
233
cmd .Name = "keda-adapter"
237
234
235
+ opts := zap.Options {}
236
+ opts .BindFlags (flag .CommandLine )
237
+
238
238
cmd .Flags ().StringVar (& cmd .Message , "msg" , "starting adapter..." , "startup message" )
239
239
cmd .Flags ().AddGoFlagSet (flag .CommandLine ) // make sure we get the klog flags
240
240
cmd .Flags ().IntVar (& metricsAPIServerPort , "port" , 8080 , "Set the port for the metrics API server" )
@@ -249,27 +249,27 @@ func main() {
249
249
return
250
250
}
251
251
252
- ctrl .SetLogger (logger )
252
+ ctrl .SetLogger (setupLog )
253
253
254
254
err = printWelcomeMsg (cmd )
255
255
if err != nil {
256
256
return
257
257
}
258
258
259
- err = kedautil .ConfigureMaxProcs (logger )
259
+ err = kedautil .ConfigureMaxProcs (setupLog )
260
260
if err != nil {
261
- logger .Error (err , "failed to set max procs" )
261
+ setupLog .Error (err , "failed to set max procs" )
262
262
return
263
263
}
264
264
265
265
kedaProvider , err := cmd .makeProvider (ctx )
266
266
if err != nil {
267
- logger .Error (err , "making provider" )
267
+ setupLog .Error (err , "making provider" )
268
268
return
269
269
}
270
270
cmd .WithExternalMetrics (kedaProvider )
271
271
272
- logger .Info (cmd .Message )
272
+ setupLog .Info (cmd .Message )
273
273
274
274
RunMetricsServer (ctx )
275
275
0 commit comments