Skip to content

Commit 12154ce

Browse files
bastelfreakekohl
authored andcommitted
(#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.
1 parent 2ffa254 commit 12154ce

File tree

5 files changed

+11
-3
lines changed

5 files changed

+11
-3
lines changed

manifests/init.pp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -437,9 +437,12 @@
437437
#
438438
# $server_puppetserver_jruby9k:: For Puppetserver 5, use JRuby 9k? Defaults to false
439439
#
440-
# $server_puppetserver_metrics:: Enable metrics (Puppetserver 5.x only) and JRuby profiling?
440+
# $server_puppetserver_metrics:: Enable metrics (Puppetserver 5.x only)
441441
# Defaults to true on Puppetserver 5.x and to false on Puppetserver 2.x
442442
#
443+
# $server_puppetserver_profiler:: Enable JRuby profiling.
444+
# Defaults to false because that's the Puppet Inc. default behaviour.
445+
#
443446
# $server_metrics_jmx_enable:: Enable or disable JMX metrics reporter. Defaults to true
444447
#
445448
# $server_metrics_graphite_enable:: Enable or disable Graphite metrics reporter. Defaults to false
@@ -707,6 +710,7 @@
707710
Integer[0] $server_web_idle_timeout = $puppet::params::server_web_idle_timeout,
708711
Boolean $server_puppetserver_jruby9k = $puppet::params::server_puppetserver_jruby9k,
709712
Optional[Boolean] $server_puppetserver_metrics = $puppet::params::server_puppetserver_metrics,
713+
Boolean $server_puppetserver_profiler = false,
710714
Boolean $server_metrics_jmx_enable = $puppet::params::server_metrics_jmx_enable,
711715
Boolean $server_metrics_graphite_enable = $puppet::params::server_metrics_graphite_enable,
712716
String $server_metrics_graphite_host = $puppet::params::server_metrics_graphite_host,

manifests/server.pp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -261,6 +261,8 @@
261261
# $puppetserver_metrics:: Enable metrics (Puppetserver 5.x only) and JRuby profiling?
262262
# Defaults to true on Puppetserver 5.x and to false on Puppetserver 2.x
263263
#
264+
# $puppetserver_profiler:: Enable JRuby profiling.
265+
# Defaults to false because that's the Puppet Inc. default behaviour.#
264266
#
265267
# $metrics_jmx_enable:: Enable or disable JMX metrics reporter. Defaults to true
266268
#
@@ -423,6 +425,7 @@
423425
Boolean $allow_header_cert_info = $puppet::server_allow_header_cert_info,
424426
Boolean $puppetserver_jruby9k = $puppet::server_puppetserver_jruby9k,
425427
Optional[Boolean] $puppetserver_metrics = $puppet::server_puppetserver_metrics,
428+
Boolean $puppetserver_profiler = $puppet::server_puppetserver_profiler,
426429
Boolean $metrics_jmx_enable = $puppet::server_metrics_jmx_enable,
427430
Boolean $metrics_graphite_enable = $puppet::server_metrics_graphite_enable,
428431
String $metrics_graphite_host = $puppet::server_metrics_graphite_host,

manifests/server/puppetserver.pp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@
112112
$server_environment_class_cache_enabled = $puppet::server::environment_class_cache_enabled,
113113
$server_jruby9k = $puppet::server::puppetserver_jruby9k,
114114
$server_metrics = $puppet::server::real_puppetserver_metrics,
115+
$server_profiler = $puppet::server::puppetserver_profiler,
115116
$metrics_jmx_enable = $puppet::server::metrics_jmx_enable,
116117
$metrics_graphite_enable = $puppet::server::metrics_graphite_enable,
117118
$metrics_graphite_host = $puppet::server::metrics_graphite_host,

spec/classes/puppet_server_puppetserver_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,7 @@
240240
it {
241241
should contain_file(puppetserver_conf)
242242
.with_content(/^ # Whether to enable http-client metrics; defaults to 'true'.\n metrics-enabled: true$(.*)/)
243-
.with_content(/^profiler: \{\n # enable or disable profiling for the Ruby code;\n enabled: true/)
243+
.with_content(/^profiler: \{\n # enable or disable profiling for the Ruby code;\n enabled: false/)
244244
}
245245
it {
246246
should contain_file('/etc/custom/puppetserver/conf.d/metrics.conf')

templates/server/puppetserver/conf.d/puppetserver.conf.erb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,5 +123,5 @@ http-client: {
123123
# settings related to profiling the puppet Ruby code
124124
profiler: {
125125
# enable or disable profiling for the Ruby code;
126-
enabled: <%= @server_metrics %>
126+
enabled: <%= @server_profiler %>
127127
}

0 commit comments

Comments
 (0)