Class: GitLab::Exporter::Database::ZoektProber
- Inherits:
-
Object
- Object
- GitLab::Exporter::Database::ZoektProber
- Defined in:
- lib/gitlab_exporter/database/zoekt.rb
Overview
The prober which is called when gathering metrics
Instance Method Summary collapse
- #add_processing_zoekt_tasks_to_metric(row) ⇒ Object
- #add_zoekt_nodes_status_to_metric(row) ⇒ Object
- #add_zoekt_repositories_by_schema_version_to_metric(row) ⇒ Object
-
#initialize(metrics: PrometheusMetrics.new, **opts) ⇒ ZoektProber
constructor
A new instance of ZoektProber.
- #probe_db ⇒ Object
- #write_to(target) ⇒ Object
Constructor Details
#initialize(metrics: PrometheusMetrics.new, **opts) ⇒ ZoektProber
Returns a new instance of ZoektProber.
151 152 153 154 |
# File 'lib/gitlab_exporter/database/zoekt.rb', line 151 def initialize(metrics: PrometheusMetrics.new, **opts) @metrics = metrics @collector = opts[:collector] || ZoektCollector.new(**opts) end |
Instance Method Details
#add_processing_zoekt_tasks_to_metric(row) ⇒ Object
173 174 175 176 177 178 179 180 |
# File 'lib/gitlab_exporter/database/zoekt.rb', line 173 def add_processing_zoekt_tasks_to_metric(row) @metrics.add( "search_zoekt_task_processing_queue_size", row["task_count"].to_i, node_name: row["node_name"], node_id: row["node_id"] ) end |
#add_zoekt_nodes_status_to_metric(row) ⇒ Object
191 192 193 194 195 196 197 |
# File 'lib/gitlab_exporter/database/zoekt.rb', line 191 def add_zoekt_nodes_status_to_metric(row) @metrics.add( "search_zoekt_nodes_status", row["status"].to_i, zoekt_node_id: row["id"] ) end |
#add_zoekt_repositories_by_schema_version_to_metric(row) ⇒ Object
182 183 184 185 186 187 188 189 |
# File 'lib/gitlab_exporter/database/zoekt.rb', line 182 def add_zoekt_repositories_by_schema_version_to_metric(row) @metrics.add( "search_zoekt_repositories_schema_version_count", row[:unfinished_repository_count].to_i, target_schema_version: row[:target_schema_version], zoekt_node_id: row[:zoekt_node_id] ) end |
#probe_db ⇒ Object
156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 |
# File 'lib/gitlab_exporter/database/zoekt.rb', line 156 def probe_db results = @collector.run results[:task_processing_query_result].to_a.each do |row| add_processing_zoekt_tasks_to_metric(row) end results[:repositories_schema_version_query_result]&.each do |row| add_zoekt_repositories_by_schema_version_to_metric(row) end results[:zoekt_nodes_status_query_result]&.each do |row| add_zoekt_nodes_status_to_metric(row) end self rescue PG::ConnectionBad self end |
#write_to(target) ⇒ Object
199 200 201 |
# File 'lib/gitlab_exporter/database/zoekt.rb', line 199 def write_to(target) target.write(@metrics.to_s) end |