class GitLab::Exporter::Database::RowCountProber
The prober which is called when gathering metrics
Public Class Methods
new(metrics: PrometheusMetrics.new, **opts)
click to toggle source
# File lib/gitlab_exporter/database/row_count.rb, line 203 def initialize(metrics: PrometheusMetrics.new, **opts) @metrics = metrics @collector = RowCountCollector.new(**opts) end
Public Instance Methods
probe_db()
click to toggle source
# File lib/gitlab_exporter/database/row_count.rb, line 208 def probe_db results = @collector.run results.each do |query_name, result| labels = { query_name: query_name.to_s } result.each do |row| @metrics.add("gitlab_database_rows", row[:count].to_f, **labels, **row[:labels]) end end self rescue PG::ConnectionBad self end
write_to(target)
click to toggle source
# File lib/gitlab_exporter/database/row_count.rb, line 222 def write_to(target) target.write(@metrics.to_s) end