gitlab-exporter 16.4.0 → 16.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +8 -8
- data/gitlab-exporter.gemspec +1 -1
- data/lib/gitlab_exporter/database/zoekt.rb +98 -25
- data/lib/gitlab_exporter/version.rb +1 -1
- data/spec/database/zoekt_spec.rb +52 -10
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2ccb9b4710efb99847099a897fd1b8459c0d3e8d835b6f2ab4e8569d0a565242
|
|
4
|
+
data.tar.gz: c04beba06c2aa5866f5c09faf93f44cd14d01a0e5e174004ccaf81f8f9ba1171
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ff2ca3937e3b3beebfdc5bf60cb967e16384ed50de585610aec8a86c5e2f985b35eba1f8108d99fad7fb7972b4683496e1cc70f17a791ec9847977f41613fe7e
|
|
7
|
+
data.tar.gz: 55d3cb8d8b971124f8f170a061efa23348f506477829cd59f2f7d9a7fc3902a04fc297b06c6638818b7283121106ab8e53bdfea75be00c05773f9a597ce7d1e5
|
data/Gemfile.lock
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
gitlab-exporter (16.
|
|
4
|
+
gitlab-exporter (16.5.0)
|
|
5
5
|
connection_pool (= 2.5.5)
|
|
6
6
|
deep_merge (~> 1.2.2)
|
|
7
7
|
faraday (= 2.14.0)
|
|
8
8
|
pg (= 1.6.3)
|
|
9
|
-
puma (= 7.
|
|
9
|
+
puma (= 7.2.0)
|
|
10
10
|
quantile (= 0.2.1)
|
|
11
11
|
redis (= 4.8.1)
|
|
12
12
|
redis-namespace (= 1.11.0)
|
|
@@ -39,8 +39,8 @@ GEM
|
|
|
39
39
|
ast (~> 2.4.1)
|
|
40
40
|
racc
|
|
41
41
|
pg (1.6.3)
|
|
42
|
-
prism (1.
|
|
43
|
-
puma (7.
|
|
42
|
+
prism (1.9.0)
|
|
43
|
+
puma (7.2.0)
|
|
44
44
|
nio4r (~> 2.0)
|
|
45
45
|
quantile (0.2.1)
|
|
46
46
|
racc (1.8.1)
|
|
@@ -66,7 +66,7 @@ GEM
|
|
|
66
66
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
67
67
|
rspec-support (~> 3.12.0)
|
|
68
68
|
rspec-support (3.12.0)
|
|
69
|
-
rubocop (1.
|
|
69
|
+
rubocop (1.84.1)
|
|
70
70
|
json (~> 2.3)
|
|
71
71
|
language_server-protocol (~> 3.17.0.2)
|
|
72
72
|
lint_roller (~> 1.1.0)
|
|
@@ -74,12 +74,12 @@ GEM
|
|
|
74
74
|
parser (>= 3.3.0.2)
|
|
75
75
|
rainbow (>= 2.2.2, < 4.0)
|
|
76
76
|
regexp_parser (>= 2.9.3, < 3.0)
|
|
77
|
-
rubocop-ast (>= 1.
|
|
77
|
+
rubocop-ast (>= 1.49.0, < 2.0)
|
|
78
78
|
ruby-progressbar (~> 1.7)
|
|
79
79
|
unicode-display_width (>= 2.4.0, < 4.0)
|
|
80
|
-
rubocop-ast (1.
|
|
80
|
+
rubocop-ast (1.49.0)
|
|
81
81
|
parser (>= 3.3.7.2)
|
|
82
|
-
prism (~> 1.
|
|
82
|
+
prism (~> 1.7)
|
|
83
83
|
ruby-progressbar (1.13.0)
|
|
84
84
|
ruby2_keywords (0.0.5)
|
|
85
85
|
sidekiq (6.5.12)
|
data/gitlab-exporter.gemspec
CHANGED
|
@@ -26,7 +26,7 @@ Gem::Specification.new do |s|
|
|
|
26
26
|
s.add_runtime_dependency "deep_merge", "~> 1.2.2"
|
|
27
27
|
s.add_runtime_dependency "faraday", "2.14.0"
|
|
28
28
|
s.add_runtime_dependency "pg", "1.6.3"
|
|
29
|
-
s.add_runtime_dependency "puma", "7.
|
|
29
|
+
s.add_runtime_dependency "puma", "7.2.0"
|
|
30
30
|
s.add_runtime_dependency "quantile", "0.2.1"
|
|
31
31
|
s.add_runtime_dependency "redis", "4.8.1"
|
|
32
32
|
s.add_runtime_dependency "redis-namespace", "1.11.0"
|
|
@@ -28,12 +28,11 @@ module GitLab
|
|
|
28
28
|
SQL
|
|
29
29
|
|
|
30
30
|
ZOEKT_NODES_QUERY = <<~SQL.freeze
|
|
31
|
-
SELECT schema_version, id FROM zoekt_nodes
|
|
31
|
+
SELECT schema_version, id, metadata ->> 'name' AS node_name FROM zoekt_nodes
|
|
32
32
|
SQL
|
|
33
33
|
|
|
34
34
|
ZOEKT_NODES_STATUS_QUERY = <<~SQL.freeze
|
|
35
|
-
SELECT
|
|
36
|
-
id,
|
|
35
|
+
SELECT id, metadata ->> 'name' AS node_name,
|
|
37
36
|
CASE
|
|
38
37
|
WHEN last_seen_at < NOW() - INTERVAL '2 minute' THEN 0
|
|
39
38
|
ELSE 1
|
|
@@ -63,13 +62,23 @@ module GitLab
|
|
|
63
62
|
LIMIT 1
|
|
64
63
|
SQL
|
|
65
64
|
|
|
65
|
+
ZOEKT_NODE_STORAGE_QUERY = <<~SQL.freeze
|
|
66
|
+
SELECT
|
|
67
|
+
id,
|
|
68
|
+
metadata ->> 'name' AS node_name,
|
|
69
|
+
unclaimed_storage_bytes,
|
|
70
|
+
storage_percent_used
|
|
71
|
+
FROM zoekt_nodes
|
|
72
|
+
SQL
|
|
73
|
+
|
|
66
74
|
def run
|
|
67
75
|
return {} unless zoekt_indexing_enabled?
|
|
68
76
|
|
|
69
77
|
{
|
|
70
78
|
task_processing_query_result: execute(ZOEKT_TASKS_PROCESSING_QUERY, [Time.now.utc]),
|
|
71
79
|
repositories_schema_version_query_result: repositories_schema_version_query_result,
|
|
72
|
-
zoekt_nodes_status_query_result: execute(ZOEKT_NODES_STATUS_QUERY)
|
|
80
|
+
zoekt_nodes_status_query_result: execute(ZOEKT_NODES_STATUS_QUERY),
|
|
81
|
+
node_storage_query_result: execute(ZOEKT_NODE_STORAGE_QUERY)
|
|
73
82
|
}.compact
|
|
74
83
|
end
|
|
75
84
|
|
|
@@ -88,22 +97,25 @@ module GitLab
|
|
|
88
97
|
|
|
89
98
|
hash = {}
|
|
90
99
|
zoekt_nodes.each do |row|
|
|
91
|
-
hash[row["id"]] = row["schema_version"]
|
|
100
|
+
hash[row["id"]] = [row["schema_version"], row["node_name"]]
|
|
92
101
|
end
|
|
93
102
|
hash
|
|
94
103
|
end
|
|
95
104
|
|
|
96
105
|
def zoekt_repository_schema_version_result(hash)
|
|
97
106
|
result = Set.new
|
|
98
|
-
hash.each do |id,
|
|
99
|
-
query_result = execute(ZOEKT_REPOSITORY_SCHEMA_VERSION_QUERY, [id,
|
|
107
|
+
hash.each do |id, schema_version_name_arr|
|
|
108
|
+
query_result = execute(ZOEKT_REPOSITORY_SCHEMA_VERSION_QUERY, [id, schema_version_name_arr[0]])
|
|
100
109
|
if query_result.nil?
|
|
101
110
|
result = nil
|
|
102
111
|
break
|
|
103
112
|
end
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
113
|
+
result.add(
|
|
114
|
+
{
|
|
115
|
+
target_schema_version: schema_version_name_arr[0], zoekt_node_id: id,
|
|
116
|
+
zoekt_node_name: schema_version_name_arr[1], unfinished_repository_count: query_result[0]["count"].to_i
|
|
117
|
+
}
|
|
118
|
+
)
|
|
107
119
|
end
|
|
108
120
|
result
|
|
109
121
|
end
|
|
@@ -148,6 +160,18 @@ module GitLab
|
|
|
148
160
|
"gauge"
|
|
149
161
|
)
|
|
150
162
|
|
|
163
|
+
PrometheusMetrics.describe(
|
|
164
|
+
"search_zoekt_node_unclaimed_storage_bytes",
|
|
165
|
+
"Unclaimed storage bytes for Zoekt node",
|
|
166
|
+
"gauge"
|
|
167
|
+
)
|
|
168
|
+
|
|
169
|
+
PrometheusMetrics.describe(
|
|
170
|
+
"search_zoekt_node_storage_percent_used",
|
|
171
|
+
"Fraction of storage used on Zoekt node (0..1)",
|
|
172
|
+
"gauge"
|
|
173
|
+
)
|
|
174
|
+
|
|
151
175
|
def initialize(metrics: PrometheusMetrics.new, **opts)
|
|
152
176
|
@metrics = metrics
|
|
153
177
|
@collector = opts[:collector] || ZoektCollector.new(**opts)
|
|
@@ -155,27 +179,48 @@ module GitLab
|
|
|
155
179
|
|
|
156
180
|
def probe_db
|
|
157
181
|
results = @collector.run
|
|
158
|
-
results
|
|
159
|
-
add_processing_zoekt_tasks_to_metric(row)
|
|
160
|
-
end
|
|
161
|
-
results[:repositories_schema_version_query_result]&.each do |row|
|
|
162
|
-
add_zoekt_repositories_by_schema_version_to_metric(row)
|
|
163
|
-
end
|
|
164
|
-
results[:zoekt_nodes_status_query_result]&.each do |row|
|
|
165
|
-
add_zoekt_nodes_status_to_metric(row)
|
|
166
|
-
end
|
|
167
|
-
|
|
182
|
+
process_results(results)
|
|
168
183
|
self
|
|
169
184
|
rescue PG::ConnectionBad
|
|
170
185
|
self
|
|
171
186
|
end
|
|
172
187
|
|
|
188
|
+
private
|
|
189
|
+
|
|
190
|
+
def process_results(results)
|
|
191
|
+
process_task_results(results[:task_processing_query_result])
|
|
192
|
+
process_repository_results(results[:repositories_schema_version_query_result])
|
|
193
|
+
process_node_status_results(results[:zoekt_nodes_status_query_result])
|
|
194
|
+
process_node_storage_results(results[:node_storage_query_result])
|
|
195
|
+
end
|
|
196
|
+
|
|
197
|
+
def process_task_results(results)
|
|
198
|
+
results.to_a.each { |row| add_processing_zoekt_tasks_to_metric(row) }
|
|
199
|
+
end
|
|
200
|
+
|
|
201
|
+
def process_repository_results(results)
|
|
202
|
+
results&.each { |row| add_zoekt_repositories_by_schema_version_to_metric(row) }
|
|
203
|
+
end
|
|
204
|
+
|
|
205
|
+
def process_node_status_results(results)
|
|
206
|
+
results&.each { |row| add_zoekt_nodes_status_to_metric(row) }
|
|
207
|
+
end
|
|
208
|
+
|
|
209
|
+
def process_node_storage_results(results)
|
|
210
|
+
results&.each do |row|
|
|
211
|
+
add_zoekt_node_unclaimed_storage_to_metric(row)
|
|
212
|
+
add_zoekt_node_storage_percent_used_to_metric(row)
|
|
213
|
+
end
|
|
214
|
+
end
|
|
215
|
+
|
|
173
216
|
def add_processing_zoekt_tasks_to_metric(row)
|
|
174
217
|
@metrics.add(
|
|
175
218
|
"search_zoekt_task_processing_queue_size",
|
|
176
219
|
row["task_count"].to_i,
|
|
177
|
-
|
|
178
|
-
|
|
220
|
+
**{
|
|
221
|
+
node_name: row["node_name"],
|
|
222
|
+
node_id: row["node_id"]
|
|
223
|
+
}.compact
|
|
179
224
|
)
|
|
180
225
|
end
|
|
181
226
|
|
|
@@ -183,8 +228,11 @@ module GitLab
|
|
|
183
228
|
@metrics.add(
|
|
184
229
|
"search_zoekt_repositories_schema_version_count",
|
|
185
230
|
row[:unfinished_repository_count].to_i,
|
|
186
|
-
|
|
187
|
-
|
|
231
|
+
**{
|
|
232
|
+
target_schema_version: row[:target_schema_version],
|
|
233
|
+
zoekt_node_id: row[:zoekt_node_id],
|
|
234
|
+
zoekt_node_name: row[:zoekt_node_name]
|
|
235
|
+
}.compact
|
|
188
236
|
)
|
|
189
237
|
end
|
|
190
238
|
|
|
@@ -192,7 +240,32 @@ module GitLab
|
|
|
192
240
|
@metrics.add(
|
|
193
241
|
"search_zoekt_nodes_status",
|
|
194
242
|
row["status"].to_i,
|
|
195
|
-
|
|
243
|
+
**{
|
|
244
|
+
zoekt_node_id: row["id"],
|
|
245
|
+
zoekt_node_name: row["node_name"]
|
|
246
|
+
}.compact
|
|
247
|
+
)
|
|
248
|
+
end
|
|
249
|
+
|
|
250
|
+
def add_zoekt_node_unclaimed_storage_to_metric(row)
|
|
251
|
+
@metrics.add(
|
|
252
|
+
"search_zoekt_node_unclaimed_storage_bytes",
|
|
253
|
+
row["unclaimed_storage_bytes"].to_i,
|
|
254
|
+
**{
|
|
255
|
+
zoekt_node_id: row["id"],
|
|
256
|
+
zoekt_node_name: row["node_name"]
|
|
257
|
+
}.compact
|
|
258
|
+
)
|
|
259
|
+
end
|
|
260
|
+
|
|
261
|
+
def add_zoekt_node_storage_percent_used_to_metric(row)
|
|
262
|
+
@metrics.add(
|
|
263
|
+
"search_zoekt_node_storage_percent_used",
|
|
264
|
+
row["storage_percent_used"].to_f,
|
|
265
|
+
**{
|
|
266
|
+
zoekt_node_id: row["id"],
|
|
267
|
+
zoekt_node_name: row["node_name"]
|
|
268
|
+
}.compact
|
|
196
269
|
)
|
|
197
270
|
end
|
|
198
271
|
|
data/spec/database/zoekt_spec.rb
CHANGED
|
@@ -6,11 +6,15 @@ describe GitLab::Exporter::Database::ZoektCollector do
|
|
|
6
6
|
let(:connection) { double("connection") }
|
|
7
7
|
let(:zoekt_tasks_processing_query) { described_class::ZOEKT_TASKS_PROCESSING_QUERY }
|
|
8
8
|
let(:zoekt_nodes_query) { described_class::ZOEKT_NODES_QUERY }
|
|
9
|
-
let(:zoekt_nodes_query_results) { [{ "id" => "1", "schema_version" => "2302" }] }
|
|
9
|
+
let(:zoekt_nodes_query_results) { [{ "id" => "1", "schema_version" => "2302", "node_name" => "foo" }] }
|
|
10
10
|
let(:zoekt_enabled_query) { described_class::ZOEKT_ENABLED_QUERY }
|
|
11
11
|
let(:zoekt_repository_schema_version_query) { described_class::ZOEKT_REPOSITORY_SCHEMA_VERSION_QUERY }
|
|
12
12
|
let(:zoekt_nodes_status_query) { described_class::ZOEKT_NODES_STATUS_QUERY }
|
|
13
|
-
let(:zoekt_nodes_status_query_results) { [{ "id" => "1", "status" => "1" }] }
|
|
13
|
+
let(:zoekt_nodes_status_query_results) { [{ "id" => "1", "name" => "foo", "status" => "1" }] }
|
|
14
|
+
let(:zoekt_node_storage_query) { described_class::ZOEKT_NODE_STORAGE_QUERY }
|
|
15
|
+
let(:zoekt_node_storage_query_results) do
|
|
16
|
+
[{ "id" => "1", "node_name" => "foo", "unclaimed_storage_bytes" => "1000000", "storage_percent_used" => "0.75" }]
|
|
17
|
+
end
|
|
14
18
|
|
|
15
19
|
let(:zoekt_repository_schema_version_query_results) { [{ "count" => "1" }] }
|
|
16
20
|
|
|
@@ -41,14 +45,17 @@ describe GitLab::Exporter::Database::ZoektCollector do
|
|
|
41
45
|
end
|
|
42
46
|
|
|
43
47
|
let(:zoekt_repositories_schema_version_query_results) do
|
|
44
|
-
Set.new(
|
|
48
|
+
Set.new(
|
|
49
|
+
[{ target_schema_version: "2302", zoekt_node_id: "1", zoekt_node_name: "foo", unfinished_repository_count: 1 }]
|
|
50
|
+
)
|
|
45
51
|
end
|
|
46
52
|
|
|
47
53
|
let(:result) do
|
|
48
54
|
{
|
|
49
55
|
repositories_schema_version_query_result: zoekt_repositories_schema_version_query_results,
|
|
50
56
|
task_processing_query_result: zoekt_tasks_processing_query_results,
|
|
51
|
-
zoekt_nodes_status_query_result: zoekt_nodes_status_query_results
|
|
57
|
+
zoekt_nodes_status_query_result: zoekt_nodes_status_query_results,
|
|
58
|
+
node_storage_query_result: zoekt_node_storage_query_results
|
|
52
59
|
}
|
|
53
60
|
end
|
|
54
61
|
|
|
@@ -80,6 +87,8 @@ describe GitLab::Exporter::Database::ZoektCollector do
|
|
|
80
87
|
.and_return(zoekt_repository_schema_version_query_results)
|
|
81
88
|
expect(connection).to receive(:exec_params).with(zoekt_nodes_status_query, [])
|
|
82
89
|
.and_return(zoekt_nodes_status_query_results)
|
|
90
|
+
expect(connection).to receive(:exec_params).with(zoekt_node_storage_query, [])
|
|
91
|
+
.and_return(zoekt_node_storage_query_results)
|
|
83
92
|
|
|
84
93
|
expect(collector.run).to eq(result)
|
|
85
94
|
end
|
|
@@ -92,6 +101,8 @@ describe GitLab::Exporter::Database::ZoektCollector do
|
|
|
92
101
|
.and_raise(PG::UndefinedTable)
|
|
93
102
|
allow(connection).to receive(:exec_params).with(zoekt_nodes_status_query, [])
|
|
94
103
|
.and_raise(PG::UndefinedTable)
|
|
104
|
+
allow(connection).to receive(:exec_params).with(zoekt_node_storage_query, [])
|
|
105
|
+
.and_raise(PG::UndefinedTable)
|
|
95
106
|
|
|
96
107
|
expect(collector.run).to eq({})
|
|
97
108
|
end
|
|
@@ -106,6 +117,7 @@ describe GitLab::Exporter::Database::ZoektCollector do
|
|
|
106
117
|
expect(connection).to receive(:exec_params).with(zoekt_repository_schema_version_query, %w[1 2302])
|
|
107
118
|
.and_raise(PG::UndefinedTable)
|
|
108
119
|
expect(connection).to receive(:exec_params).with(zoekt_nodes_status_query, []).and_raise(PG::UndefinedTable)
|
|
120
|
+
expect(connection).to receive(:exec_params).with(zoekt_node_storage_query, []).and_raise(PG::UndefinedColumn)
|
|
109
121
|
|
|
110
122
|
expect(collector.run).to eq({ task_processing_query_result: zoekt_tasks_processing_query_results })
|
|
111
123
|
end
|
|
@@ -136,11 +148,21 @@ describe GitLab::Exporter::Database::ZoektProber do
|
|
|
136
148
|
let(:data) do
|
|
137
149
|
{
|
|
138
150
|
repositories_schema_version_query_result: Set.new(
|
|
139
|
-
[{ target_schema_version: "2302", zoekt_node_id: "1", unfinished_repository_count: 1 }]
|
|
151
|
+
[{ target_schema_version: "2302", zoekt_node_id: "1", unfinished_repository_count: 1, zoekt_node_name: "foo" }]
|
|
140
152
|
),
|
|
141
153
|
task_processing_query_result: [
|
|
142
154
|
{ "node_id" => "1", "node_name" => "zoekt-1", "task_count" => "5" },
|
|
143
155
|
{ "node_id" => "2", "node_name" => "zoekt-2", "task_count" => "10" }
|
|
156
|
+
],
|
|
157
|
+
node_storage_query_result: [
|
|
158
|
+
{
|
|
159
|
+
"id" => "1", "node_name" => "zoekt-1", "unclaimed_storage_bytes" => "1000000",
|
|
160
|
+
"storage_percent_used" => "0.75"
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"id" => "2", "node_name" => "zoekt-2", "unclaimed_storage_bytes" => "2000000",
|
|
164
|
+
"storage_percent_used" => "0.50"
|
|
165
|
+
}
|
|
144
166
|
]
|
|
145
167
|
}
|
|
146
168
|
end
|
|
@@ -165,10 +187,12 @@ describe GitLab::Exporter::Database::ZoektProber do
|
|
|
165
187
|
|
|
166
188
|
data[:task_processing_query_result].each do |node_data|
|
|
167
189
|
expect(metrics).to receive(:add)
|
|
168
|
-
.with(
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
190
|
+
.with(
|
|
191
|
+
"search_zoekt_task_processing_queue_size",
|
|
192
|
+
node_data["task_count"].to_i,
|
|
193
|
+
node_name: node_data["node_name"],
|
|
194
|
+
node_id: node_data["node_id"]
|
|
195
|
+
)
|
|
172
196
|
end
|
|
173
197
|
|
|
174
198
|
data[:repositories_schema_version_query_result].each do |node_data|
|
|
@@ -177,7 +201,25 @@ describe GitLab::Exporter::Database::ZoektProber do
|
|
|
177
201
|
"search_zoekt_repositories_schema_version_count",
|
|
178
202
|
node_data[:unfinished_repository_count].to_i,
|
|
179
203
|
target_schema_version: node_data[:target_schema_version],
|
|
180
|
-
zoekt_node_id: node_data[:zoekt_node_id]
|
|
204
|
+
zoekt_node_id: node_data[:zoekt_node_id],
|
|
205
|
+
zoekt_node_name: node_data[:zoekt_node_name]
|
|
206
|
+
)
|
|
207
|
+
end
|
|
208
|
+
|
|
209
|
+
data[:node_storage_query_result].each do |node_data|
|
|
210
|
+
expect(metrics).to receive(:add)
|
|
211
|
+
.with(
|
|
212
|
+
"search_zoekt_node_unclaimed_storage_bytes",
|
|
213
|
+
node_data["unclaimed_storage_bytes"].to_i,
|
|
214
|
+
zoekt_node_id: node_data["id"],
|
|
215
|
+
zoekt_node_name: node_data["node_name"]
|
|
216
|
+
)
|
|
217
|
+
expect(metrics).to receive(:add)
|
|
218
|
+
.with(
|
|
219
|
+
"search_zoekt_node_storage_percent_used",
|
|
220
|
+
node_data["storage_percent_used"].to_f,
|
|
221
|
+
zoekt_node_id: node_data["id"],
|
|
222
|
+
zoekt_node_name: node_data["node_name"]
|
|
181
223
|
)
|
|
182
224
|
end
|
|
183
225
|
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: gitlab-exporter
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 16.
|
|
4
|
+
version: 16.5.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Pablo Carranza
|
|
@@ -72,14 +72,14 @@ dependencies:
|
|
|
72
72
|
requirements:
|
|
73
73
|
- - '='
|
|
74
74
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: 7.
|
|
75
|
+
version: 7.2.0
|
|
76
76
|
type: :runtime
|
|
77
77
|
prerelease: false
|
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
79
|
requirements:
|
|
80
80
|
- - '='
|
|
81
81
|
- !ruby/object:Gem::Version
|
|
82
|
-
version: 7.
|
|
82
|
+
version: 7.2.0
|
|
83
83
|
- !ruby/object:Gem::Dependency
|
|
84
84
|
name: quantile
|
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|