class GitLab::Exporter::Database::BloatCollector
Helper to collect bloat metrics.
Attributes
logger[W]
Private Class Methods
query_for(type)
click to toggle source
# File lib/gitlab_exporter/database/bloat.rb, line 23 def query_for(type) @queries ||= {} return @queries[type] if @queries[type] file = File.join(__dir__, "bloat_#{type}.sql") fail "Unknown bloat query file: #{file}" unless File.exist?(file) @queries[type] = File.read(file) end
Public Instance Methods
run(type = :btree)
click to toggle source
# File lib/gitlab_exporter/database/bloat.rb, line 8 def run(type = :btree) execute(self.class.query_for(type)).each_with_object({}) do |row, h| h[row["object_name"]] = row end end
Private Instance Methods
execute(query)
click to toggle source
# File lib/gitlab_exporter/database/bloat.rb, line 16 def execute(query) with_connection_pool do |conn| conn.exec(query) end end