diff --git a/internal/cmd/instance/main.go b/internal/cmd/instance/main.go index 964c36f..c6bb34d 100644 --- a/internal/cmd/instance/main.go +++ b/internal/cmd/instance/main.go @@ -33,9 +33,10 @@ func NewCmd() *cobra.Command { }, } - cmd.Flags().Bool("pprof-server", - false, - "If true it will start a pprof debug http server on localhost:6061. Defaults to false.", + cmd.Flags().String("pprof-server", + "", + "The address where pprof server should be exposed, for example: 0.0.0.0:6061. "+ + "Empty string means disabled. Disabled by default", ) _ = viper.BindPFlag("pprof-server", cmd.Flags().Lookup("pprof-server")) diff --git a/internal/cnpgi/instance/manager.go b/internal/cnpgi/instance/manager.go index 20e672d..65bd54b 100644 --- a/internal/cnpgi/instance/manager.go +++ b/internal/cnpgi/instance/manager.go @@ -33,7 +33,7 @@ func Start(ctx context.Context) error { namespace := viper.GetString("namespace") controllerOptions := ctrl.Options{ - PprofBindAddress: getPprofServerAddress(), + PprofBindAddress: viper.GetString("pprof-server"), Scheme: scheme, Client: client.Options{ // Important: the caching options below are used by @@ -130,11 +130,3 @@ func generateScheme(ctx context.Context) *runtime.Scheme { return result } - -func getPprofServerAddress() string { - if viper.GetBool("pprof-server") { - return "0.0.0.0:6061" - } - - return "" -} diff --git a/web/docs/misc.md b/web/docs/misc.md index f8a8dc4..07304f6 100644 --- a/web/docs/misc.md +++ b/web/docs/misc.md @@ -77,10 +77,11 @@ For a complete list of supported options, refer to the ## Enable the pprof debug server for the sidecar -You can enable the instance sidecar's pprof debug HTTP server by adding the `--pprof-server` flag to the container's -arguments via `.spec.instanceSidecarConfiguration.additionalContainerArgs` in the `ObjectStore` resource. +You can enable the instance sidecar's pprof debug HTTP server by adding the `--pprof-server=
` flag to the container's +arguments via `.spec.instanceSidecarConfiguration.additionalContainerArgs`. -This starts a pprof server on port 6061 inside the Pod. +Pass a bind address in the form `:` (for example, `0.0.0.0:6061`). +An empty value disables the server (disabled by default). ### Example @@ -92,5 +93,5 @@ metadata: spec: instanceSidecarConfiguration: additionalContainerArgs: - - "--pprof-server" + - "--pprof-server=0.0.0.0:6061" ```