gitlab-exporter 12.1.1 → 13.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f94ff4332c26d23722a980cda4185e84dcecf96e01ce58bf5794d73523efdb2e
4
- data.tar.gz: 5b650ba2d57d2a445cd077f0d93daaf4f635815579339281be70698215a67f87
3
+ metadata.gz: 772759981296901f1bd6ed3d38a9f98cf882ddbc851605c8dfb31b47aceed046
4
+ data.tar.gz: 82f8e5ce3795f3349dd1cd053161302cf01eafe0c57485ec3074e7a8844606a9
5
5
  SHA512:
6
- metadata.gz: ed42fc0e5869f7c7be443f29ded7bb4ded2242a1612042f8212baba438aeafbd3019f1011c5b46cc246cb94a8ca7887508b2c100baf05bebc8b3b2b4d9afca60
7
- data.tar.gz: bac63ad5e89bfaaeb20d7483e27c89bdfa9945494f3f1a44e1daf023f1d0ee43d57b4e42e9110656f898f8806a341a9d51cc6ef5afdf1905c14a2a5640f87414
6
+ metadata.gz: ed3d74142e8da3b4bf367c9bf26b91b1e55a42f904e494479797d1bc10f07324e0734247a271a44e1a6db6ca745dddaddf97688d0ba659ff3e27f3f927fa6973
7
+ data.tar.gz: f0af44afc5e5c3d425bdfe09e1d846b550b53f9b1bc24cad7549715a8d18dc751f60dda5a8e7c934d1a0b6c2f0285ea533c64419deaab78087ef102c2161d40b
data/.gitlab-ci.yml CHANGED
@@ -43,7 +43,7 @@ rspec:
43
43
  before_script: *before_scripts
44
44
  parallel:
45
45
  matrix:
46
- - RUBY_VERSION: ["2.7", "3.0"]
46
+ - RUBY_VERSION: ["2.7", "3.0", "3.1", "3.2"]
47
47
 
48
48
  rspec_integration:
49
49
  script:
@@ -55,7 +55,7 @@ rspec_integration:
55
55
  REDIS_URL: "redis://redis"
56
56
  parallel:
57
57
  matrix:
58
- - RUBY_VERSION: ["2.7", "3.0"]
58
+ - RUBY_VERSION: ["2.7", "3.0", "3.1", "3.2"]
59
59
 
60
60
  rubocop:
61
61
  script:
data/Gemfile CHANGED
@@ -3,6 +3,6 @@ source "https://rubygems.org"
3
3
  gemspec
4
4
 
5
5
  group :test do
6
- gem "rspec", "~>3.5"
6
+ gem "rspec", "~>3.12"
7
7
  gem "rubocop", "~>0.42"
8
8
  end
data/Gemfile.lock CHANGED
@@ -1,10 +1,10 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- gitlab-exporter (12.1.1)
4
+ gitlab-exporter (13.0.3)
5
5
  connection_pool (= 2.2.5)
6
6
  faraday (~> 1.8.0)
7
- pg (= 1.2.3)
7
+ pg (= 1.5.3)
8
8
  puma (= 5.6.5)
9
9
  quantile (= 0.2.1)
10
10
  redis (= 4.4.0)
@@ -18,7 +18,7 @@ GEM
18
18
  specs:
19
19
  ast (2.4.1)
20
20
  connection_pool (2.2.5)
21
- diff-lcs (1.3)
21
+ diff-lcs (1.5.0)
22
22
  faraday (1.8.0)
23
23
  faraday-em_http (~> 1.0)
24
24
  faraday-em_synchrony (~> 1.0)
@@ -45,7 +45,7 @@ GEM
45
45
  parallel (1.20.1)
46
46
  parser (3.0.0.0)
47
47
  ast (~> 2.4.1)
48
- pg (1.2.3)
48
+ pg (1.5.3)
49
49
  puma (5.6.5)
50
50
  nio4r (~> 2.0)
51
51
  quantile (0.2.1)
@@ -58,19 +58,19 @@ GEM
58
58
  redis (>= 4)
59
59
  regexp_parser (2.0.3)
60
60
  rexml (3.2.4)
61
- rspec (3.7.0)
62
- rspec-core (~> 3.7.0)
63
- rspec-expectations (~> 3.7.0)
64
- rspec-mocks (~> 3.7.0)
65
- rspec-core (3.7.1)
66
- rspec-support (~> 3.7.0)
67
- rspec-expectations (3.7.0)
61
+ rspec (3.12.0)
62
+ rspec-core (~> 3.12.0)
63
+ rspec-expectations (~> 3.12.0)
64
+ rspec-mocks (~> 3.12.0)
65
+ rspec-core (3.12.2)
66
+ rspec-support (~> 3.12.0)
67
+ rspec-expectations (3.12.3)
68
68
  diff-lcs (>= 1.2.0, < 2.0)
69
- rspec-support (~> 3.7.0)
70
- rspec-mocks (3.7.0)
69
+ rspec-support (~> 3.12.0)
70
+ rspec-mocks (3.12.5)
71
71
  diff-lcs (>= 1.2.0, < 2.0)
72
- rspec-support (~> 3.7.0)
73
- rspec-support (3.7.1)
72
+ rspec-support (~> 3.12.0)
73
+ rspec-support (3.12.0)
74
74
  rubocop (0.93.1)
75
75
  parallel (~> 1.10)
76
76
  parser (>= 2.7.1.5)
@@ -102,8 +102,8 @@ PLATFORMS
102
102
 
103
103
  DEPENDENCIES
104
104
  gitlab-exporter!
105
- rspec (~> 3.5)
106
- rspec-expectations (~> 3.7.0)
105
+ rspec (~> 3.12)
106
+ rspec-expectations (~> 3.12.0)
107
107
  rubocop (~> 0.42)
108
108
 
109
109
  BUNDLED WITH
@@ -22,7 +22,7 @@ Gem::Specification.new do |s|
22
22
 
23
23
  s.add_runtime_dependency "connection_pool", "2.2.5"
24
24
  s.add_runtime_dependency "faraday", "~> 1.8.0"
25
- s.add_runtime_dependency "pg", "1.2.3"
25
+ s.add_runtime_dependency "pg", "1.5.3"
26
26
  s.add_runtime_dependency "puma", "5.6.5"
27
27
  s.add_runtime_dependency "quantile", "0.2.1"
28
28
  s.add_runtime_dependency "redis", "4.4.0"
@@ -31,6 +31,6 @@ Gem::Specification.new do |s|
31
31
  s.add_runtime_dependency "sinatra", "~> 2.2.0"
32
32
  s.add_runtime_dependency "webrick", "~> 1.7"
33
33
 
34
- s.add_development_dependency "rspec", "~> 3.7.0"
35
- s.add_development_dependency "rspec-expectations", "~> 3.7.0"
34
+ s.add_development_dependency "rspec", "~> 3.12.0"
35
+ s.add_development_dependency "rspec-expectations", "~> 3.12.0"
36
36
  end
@@ -1,5 +1,19 @@
1
1
  require "yaml"
2
2
 
3
+ # TODO: Remove this once we're on Ruby 3
4
+ # https://gitlab.com/gitlab-org/gitlab/-/issues/393651
5
+ unless YAML.respond_to?(:safe_load_file)
6
+ module YAML # rubocop:disable Style/Documentation
7
+ # Temporary Ruby 2 back-compat workaround.
8
+ #
9
+ # This method only exists as of stdlib 3.0.0:
10
+ # https://ruby-doc.org/stdlib-3.0.0/libdoc/psych/rdoc/Psych.html
11
+ def self.safe_load_file(path, **options)
12
+ YAML.safe_load(File.read(path), **options)
13
+ end
14
+ end
15
+ end
16
+
3
17
  module GitLab
4
18
  module Exporter
5
19
  # Stores runner classes in a single place
@@ -184,7 +198,7 @@ module GitLab
184
198
  def run
185
199
  validate!
186
200
 
187
- config = Utils.deep_symbolize_hash_keys(YAML.load_file(@config_file))
201
+ config = Utils.deep_symbolize_hash_keys(YAML.safe_load_file(@config_file, aliases: true))
188
202
 
189
203
  WebExporter.setup(config)
190
204
  WebExporter.run!
@@ -8,7 +8,6 @@ module GitLab
8
8
  # This class works under the assumption you do COUNT(*) queries, define
9
9
  # queries in the QUERIES constant. If in doubt how these work, read
10
10
  # #construct_query
11
- # rubocop:disable Metrics/ClassLength
12
11
  class RowCountCollector < Base
13
12
  # We ignore mirrors with a next_execution_timestamp before
14
13
  # 2020-03-28 because this is when we stopped processing mirrors
@@ -118,138 +117,6 @@ module GitLab
118
117
  visibility_level: {},
119
118
  root: { definition: "(parent_id IS NULL)" }
120
119
  }
121
- },
122
- container_repositories_migration_pending: {
123
- select: :container_repositories,
124
- where: <<~SQL
125
- migration_state <> 'import_done'
126
- AND created_at < '2022-08-17 00:00:00'
127
- SQL
128
- },
129
- container_repositories_pre_importing: {
130
- select: :container_repositories,
131
- where: "migration_state = 'pre_importing'"
132
- },
133
- container_repositories_importing: {
134
- select: :container_repositories,
135
- where: "migration_state = 'importing'"
136
- },
137
- container_repositories_pre_import_done: {
138
- select: :container_repositories,
139
- where: "migration_state = 'pre_import_done'"
140
- },
141
- container_repositories_import_done: {
142
- select: :container_repositories,
143
- where: "migration_state = 'import_done'"
144
- },
145
- container_repositories_import_skipped: {
146
- select: :container_repositories,
147
- where: "migration_state = 'import_skipped'"
148
- },
149
- container_repositories_import_aborted: {
150
- select: :container_repositories,
151
- where: "migration_state = 'import_aborted'"
152
- },
153
- container_repositories_migration_all_free: {
154
- select: :container_repositories,
155
- where: <<~SQL
156
- migration_plan IN ('free', 'early_adopter')
157
- OR migration_plan IS NULL
158
- SQL
159
- },
160
- container_repositories_migration_pending_free: {
161
- select: :container_repositories,
162
- where: <<~SQL
163
- migration_state <> 'import_done'
164
- AND created_at < '2022-08-17 00:00:00'
165
- AND (migration_plan IN ('free', 'early_adopter')
166
- OR migration_plan IS NULL)
167
- SQL
168
- },
169
- container_repositories_import_done_free: {
170
- select: :container_repositories,
171
- where: <<~SQL
172
- (migration_state = 'import_done' OR created_at >= '2022-08-17 00:00:00')
173
- AND (migration_plan IN ('free', 'early_adopter')
174
- OR migration_plan IS NULL)
175
- SQL
176
- },
177
- container_repositories_stalled_pre_importing: {
178
- select: :container_repositories,
179
- where: <<~SQL
180
- migration_state = 'pre_importing'
181
- AND (COALESCE(migration_pre_import_started_at, TO_TIMESTAMP(0)) < (now() - INTERVAL '20 minutes'))
182
- SQL
183
- },
184
- container_repositories_stalled_pre_import_done: {
185
- select: :container_repositories,
186
- where: <<~SQL
187
- migration_state = 'pre_import_done'
188
- AND (COALESCE(migration_pre_import_done_at, TO_TIMESTAMP(0)) < (now() - INTERVAL '5 minutes'))
189
- SQL
190
- },
191
- container_repositories_stalled_importing: {
192
- select: :container_repositories,
193
- where: <<~SQL
194
- migration_state = 'importing'
195
- AND (COALESCE(migration_import_started_at, TO_TIMESTAMP(0)) < (now() - INTERVAL '5 minutes'))
196
- SQL
197
- },
198
- container_repositories_skipped_not_in_plan: {
199
- select: :container_repositories,
200
- where: <<~SQL
201
- migration_state = 'import_skipped'
202
- AND migration_skipped_reason = 0
203
- SQL
204
- },
205
- container_repositories_skipped_too_many_retries: {
206
- select: :container_repositories,
207
- where: <<~SQL
208
- migration_state = 'import_skipped'
209
- AND migration_skipped_reason = 1
210
- SQL
211
- },
212
- container_repositories_skipped_too_many_tags: {
213
- select: :container_repositories,
214
- where: <<~SQL
215
- migration_state = 'import_skipped'
216
- AND migration_skipped_reason = 2
217
- SQL
218
- },
219
- container_repositories_skipped_deny_list: {
220
- select: :container_repositories,
221
- where: <<~SQL
222
- migration_state = 'import_skipped'
223
- AND migration_skipped_reason = 3
224
- SQL
225
- },
226
- container_repositories_skipped_canceled: {
227
- select: :container_repositories,
228
- where: <<~SQL
229
- migration_state = 'import_skipped'
230
- AND migration_skipped_reason IN (4, 8)
231
- SQL
232
- },
233
- container_repositories_skipped_not_found: {
234
- select: :container_repositories,
235
- where: <<~SQL
236
- migration_state = 'import_skipped'
237
- AND migration_skipped_reason = 5
238
- SQL
239
- },
240
- container_repositories_skipped_native: {
241
- select: :container_repositories,
242
- where: <<~SQL
243
- migration_state = 'import_skipped'
244
- AND migration_skipped_reason = 6
245
- SQL
246
- },
247
- container_repositories_skipped_force_canceled: {
248
- select: :container_repositories,
249
- where: <<~SQL
250
- migration_state = 'import_skipped'
251
- AND migration_skipped_reason = 7
252
- SQL
253
120
  }
254
121
  }.freeze
255
122
 
@@ -315,7 +182,6 @@ module GitLab
315
182
  query_string << ";"
316
183
  end
317
184
  end
318
- # rubocop:enable Metrics/ClassLength
319
185
 
320
186
  # The prober which is called when gathering metrics
321
187
  class RowCountProber
@@ -1,5 +1,5 @@
1
1
  module GitLab
2
2
  module Exporter
3
- VERSION = "12.1.1".freeze
3
+ VERSION = "13.0.3".freeze
4
4
  end
5
5
  end
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: 12.1.1
4
+ version: 13.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pablo Carranza
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - '='
46
46
  - !ruby/object:Gem::Version
47
- version: 1.2.3
47
+ version: 1.5.3
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - '='
53
53
  - !ruby/object:Gem::Version
54
- version: 1.2.3
54
+ version: 1.5.3
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: puma
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -156,28 +156,28 @@ dependencies:
156
156
  requirements:
157
157
  - - "~>"
158
158
  - !ruby/object:Gem::Version
159
- version: 3.7.0
159
+ version: 3.12.0
160
160
  type: :development
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
164
  - - "~>"
165
165
  - !ruby/object:Gem::Version
166
- version: 3.7.0
166
+ version: 3.12.0
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: rspec-expectations
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
171
  - - "~>"
172
172
  - !ruby/object:Gem::Version
173
- version: 3.7.0
173
+ version: 3.12.0
174
174
  type: :development
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
178
  - - "~>"
179
179
  - !ruby/object:Gem::Version
180
- version: 3.7.0
180
+ version: 3.12.0
181
181
  description: GitLab metrics exporter to use with prometheus
182
182
  email: pablo@gitlab.com
183
183
  executables: