From 2bfaccf018310b2d7015861823dc17c47e65be00 Mon Sep 17 00:00:00 2001 From: chaosi-zju Date: Mon, 1 Apr 2024 15:46:40 +0800 Subject: [PATCH] add pprof option to metrics-adapter Signed-off-by: chaosi-zju --- cmd/metrics-adapter/app/options/options.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/cmd/metrics-adapter/app/options/options.go b/cmd/metrics-adapter/app/options/options.go index 934218203c2a..d5504fd17833 100755 --- a/cmd/metrics-adapter/app/options/options.go +++ b/cmd/metrics-adapter/app/options/options.go @@ -33,6 +33,7 @@ import ( informerfactory "github.com/karmada-io/karmada/pkg/generated/informers/externalversions" generatedopenapi "github.com/karmada-io/karmada/pkg/generated/openapi" "github.com/karmada-io/karmada/pkg/metricsadapter" + "github.com/karmada-io/karmada/pkg/sharedcli/profileflag" "github.com/karmada-io/karmada/pkg/version" ) @@ -41,6 +42,8 @@ type Options struct { CustomMetricsAdapterServerOptions *options.CustomMetricsAdapterServerOptions KubeConfig string + + ProfileOpts profileflag.Options } // NewOptions builds a default metrics-adapter options. @@ -60,6 +63,7 @@ func (o *Options) Complete() error { // AddFlags adds flags to the specified FlagSet. func (o *Options) AddFlags(fs *pflag.FlagSet) { o.CustomMetricsAdapterServerOptions.AddFlags(fs) + o.ProfileOpts.AddFlags(fs) fs.StringVar(&o.KubeConfig, "kubeconfig", o.KubeConfig, "Path to karmada control plane kubeconfig file.") } @@ -113,6 +117,8 @@ func (o *Options) Config() (*metricsadapter.MetricsServer, error) { func (o *Options) Run(ctx context.Context) error { klog.Infof("karmada-metrics-adapter version: %s", version.Get()) + profileflag.ListenAndServe(o.ProfileOpts) + metricsServer, err := o.Config() if err != nil { return err