Skip to content

Commit 0f89c9b

Browse files
author
Jarret Lavallee
committed
(SUP-3472) Add filesync storage metric collection
Prior to this change, the filesync storage metrics were excluded in all cases, so there was no way to determine the timing of the filesync storage operations. This change adds in three metrics for the filesync storage service to measure the commits, pre-commit, and add-rm times.
1 parent 419fe85 commit 0f89c9b

File tree

2 files changed

+30
-2
lines changed

2 files changed

+30
-2
lines changed

lib/facter/puppet_metrics_collector.rb

+5
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,9 @@
3232
{ have_pe_psql: false }
3333
end
3434
end
35+
36+
chunk(:file_sync_storage_enabled) do
37+
{ file_sync_storage_enabled: (Puppet::FileSystem.exist?('/etc/puppetlabs/puppetserver/bootstrap.cfg') &&
38+
Puppet::FileSystem.read('/etc/puppetlabs/puppetserver/bootstrap.cfg').include?('file-sync-storage-service')) }
39+
end
3540
end

manifests/service/puppetserver.pp

+25-2
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,30 @@
1212
Optional[String] $metrics_server_hostname = $puppet_metrics_collector::metrics_server_hostname,
1313
Optional[Integer] $metrics_server_port = $puppet_metrics_collector::metrics_server_port,
1414
Optional[String] $metrics_server_db_name = $puppet_metrics_collector::metrics_server_db_name,
15-
) {
15+
) {
16+
$filesync_storage_metrics = [
17+
{
18+
'type' => 'read',
19+
'name' => 'file-sync-storage-commit-timer',
20+
'mbean' => 'puppetserver:name=puppetlabs.puppet.file-sync-storage.commit-timer'
21+
},
22+
{
23+
'type' => 'read',
24+
'name' => 'file-sync-storage-pre-commit-hook-timer',
25+
'mbean' => 'puppetserver:name=puppetlabs.puppet.file-sync-storage.pre-commit-hook-timer'
26+
},
27+
{
28+
'type' => 'read',
29+
'name' => 'file-sync-storage-commit-add-rm-timer',
30+
'mbean' => 'puppetserver:name=puppetlabs.puppet.file-sync-storage.commit-add-rm-timer'
31+
},
32+
]
33+
34+
$additional_metrics = $facts.dig('puppet_metrics_collector', 'file_sync_storage_enabled') ? {
35+
true => $filesync_storage_metrics + $extra_metrics,
36+
default => $extra_metrics,
37+
}
38+
1639
puppet_metrics_collector::pe_metric { 'puppetserver' :
1740
metric_ensure => $metrics_ensure,
1841
cron_minute => "0/${collection_frequency}",
@@ -21,7 +44,7 @@
2144
metrics_port => $port,
2245
override_metrics_command => $override_metrics_command,
2346
excludes => $excludes,
24-
additional_metrics => $extra_metrics,
47+
additional_metrics => $additional_metrics,
2548
metrics_server_type => $metrics_server_type,
2649
metrics_server_hostname => $metrics_server_hostname,
2750
metrics_server_port => $metrics_server_port,

0 commit comments

Comments
 (0)