Class: GitLab::Exporter::Database::CiBuildsProber

Inherits:
Object
  • Object
show all
Defined in:
lib/gitlab_exporter/database/ci_builds.rb

Overview

The prober which is called when gathering metrics

Instance Method Summary collapse

Constructor Details

#initialize(opts, metrics: PrometheusMetrics.new, logger: nil) ⇒ CiBuildsProber

Returns a new instance of CiBuildsProber.



420
421
422
423
424
425
426
427
428
# File 'lib/gitlab_exporter/database/ci_builds.rb', line 420

def initialize(opts, metrics: PrometheusMetrics.new, logger: nil)
  @metrics = metrics

  collector_opts = { connection_string: opts[:connection_string],
                     allowed_repeated_commands_count: opts[:allowed_repeated_commands_count],
                     created_builds_counting_disabled: opts[:created_builds_counting_disabled],
                     unarchived_traces_offset_minutes: opts[:unarchived_traces_offset_minutes] }
  @collector = CiBuildsCollector.new(collector_opts, logger: logger)
end

Instance Method Details

#probe_dbObject



430
431
432
433
434
435
436
437
438
439
440
441
442
443
# File 'lib/gitlab_exporter/database/ci_builds.rb', line 430

def probe_db
  @results = @collector.run

  ci_builds_metrics(@results[:created_builds], "ci_created_builds") if @results[:created_builds]
  ci_builds_metrics(@results[:pending_builds], "ci_pending_builds")
  ci_stale_builds_metrics
  metrics_per_runner
  repeated_commands_metrics
  unarchived_traces_metrics

  self
rescue PG::ConnectionBad
  self
end

#write_to(target) ⇒ Object



445
446
447
# File 'lib/gitlab_exporter/database/ci_builds.rb', line 445

def write_to(target)
  target.write(@metrics.to_s)
end