From fe45a608692967f1a926a6fcc817e4a1f150e4d3 Mon Sep 17 00:00:00 2001 From: Tim Meusel Date: Wed, 24 Mar 2021 08:59:40 +0100 Subject: [PATCH] (#780) Use dedicated parameter for jruby profiler This introduces a new parameter to disable the profiling indepently from the metrics. Previously this was enabled by default. However Puppet Inc. disables it in their standard configuration and the profiler causes a significate memory and CPU overhead so I guess we should stick with the upstream default. --- manifests/init.pp | 6 +++++- manifests/server.pp | 3 +++ manifests/server/puppetserver.pp | 1 + templates/server/puppetserver/conf.d/puppetserver.conf.erb | 2 +- 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/manifests/init.pp b/manifests/init.pp index 3fd96bfdc..1ebec10e4 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -437,9 +437,12 @@ # # $server_puppetserver_jruby9k:: For Puppetserver 5, use JRuby 9k? Defaults to false # -# $server_puppetserver_metrics:: Enable metrics (Puppetserver 5.x only) and JRuby profiling? +# $server_puppetserver_metrics:: Enable metrics (Puppetserver 5.x only) # Defaults to true on Puppetserver 5.x and to false on Puppetserver 2.x # +# $server_puppetserver_profiler:: Enable JRuby profiling. +# Defaults to false because that's the Puppet Inc. default behaviour. +# # $server_metrics_jmx_enable:: Enable or disable JMX metrics reporter. Defaults to true # # $server_metrics_graphite_enable:: Enable or disable Graphite metrics reporter. Defaults to false @@ -707,6 +710,7 @@ Integer[0] $server_web_idle_timeout = $puppet::params::server_web_idle_timeout, Boolean $server_puppetserver_jruby9k = $puppet::params::server_puppetserver_jruby9k, Optional[Boolean] $server_puppetserver_metrics = $puppet::params::server_puppetserver_metrics, + Boolean $server_puppetserver_profiler = false, Boolean $server_metrics_jmx_enable = $puppet::params::server_metrics_jmx_enable, Boolean $server_metrics_graphite_enable = $puppet::params::server_metrics_graphite_enable, String $server_metrics_graphite_host = $puppet::params::server_metrics_graphite_host, diff --git a/manifests/server.pp b/manifests/server.pp index 650103e5c..25d4c071b 100644 --- a/manifests/server.pp +++ b/manifests/server.pp @@ -261,6 +261,8 @@ # $puppetserver_metrics:: Enable metrics (Puppetserver 5.x only) and JRuby profiling? # Defaults to true on Puppetserver 5.x and to false on Puppetserver 2.x # +# $puppetserver_profiler:: Enable JRuby profiling. +# Defaults to false because that's the Puppet Inc. default behaviour.# # # $metrics_jmx_enable:: Enable or disable JMX metrics reporter. Defaults to true # @@ -423,6 +425,7 @@ Boolean $allow_header_cert_info = $puppet::server_allow_header_cert_info, Boolean $puppetserver_jruby9k = $puppet::server_puppetserver_jruby9k, Optional[Boolean] $puppetserver_metrics = $puppet::server_puppetserver_metrics, + Boolean $puppetserver_profiler = $puppet::server_puppetserver_profiler, Boolean $metrics_jmx_enable = $puppet::server_metrics_jmx_enable, Boolean $metrics_graphite_enable = $puppet::server_metrics_graphite_enable, String $metrics_graphite_host = $puppet::server_metrics_graphite_host, diff --git a/manifests/server/puppetserver.pp b/manifests/server/puppetserver.pp index 92a04169b..a2ad0e3d7 100644 --- a/manifests/server/puppetserver.pp +++ b/manifests/server/puppetserver.pp @@ -112,6 +112,7 @@ $server_environment_class_cache_enabled = $puppet::server::environment_class_cache_enabled, $server_jruby9k = $puppet::server::puppetserver_jruby9k, $server_metrics = $puppet::server::real_puppetserver_metrics, + $server_profiler = $puppet::server::puppetserver_profiler, $metrics_jmx_enable = $puppet::server::metrics_jmx_enable, $metrics_graphite_enable = $puppet::server::metrics_graphite_enable, $metrics_graphite_host = $puppet::server::metrics_graphite_host, diff --git a/templates/server/puppetserver/conf.d/puppetserver.conf.erb b/templates/server/puppetserver/conf.d/puppetserver.conf.erb index c4996ecb4..df20a8099 100644 --- a/templates/server/puppetserver/conf.d/puppetserver.conf.erb +++ b/templates/server/puppetserver/conf.d/puppetserver.conf.erb @@ -123,5 +123,5 @@ http-client: { # settings related to profiling the puppet Ruby code profiler: { # enable or disable profiling for the Ruby code; - enabled: <%= @server_metrics %> + enabled: <%= @server_profiler %> }