gitlab-exporter 15.5.0 → 16.0.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/.gitlab-ci.yml +3 -3
- data/.rubocop.yml +1 -1
- data/.ruby-version +1 -1
- data/Gemfile.lock +24 -21
- data/gitlab-exporter.gemspec +8 -8
- data/lib/gitlab_exporter/cli.rb +0 -14
- data/lib/gitlab_exporter/database/ci_builds.rb +5 -5
- data/lib/gitlab_exporter/version.rb +1 -1
- data/spec/database/ci_builds_spec.rb +4 -4
- metadata +16 -22
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9238e8cac6cf2f3ef7988d072cd7a2e2398e0304af9920fa66200965f1c4b98c
|
4
|
+
data.tar.gz: 6a99535403821e1b5acd5a1b9d46be11a6e97f2b6f8e1c99682faacb733ea847
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9adc56ffd8bb27659d37145b55a96eac0f8a905057ef938568054426c68f7d9693dd38915cd50467d6dd4d58e97c25210630fa2ce1e491096b07ed01e7ef6523
|
7
|
+
data.tar.gz: ea57211fc8eb131f13b30db56bf014363440effecd9d5ccd21e9e298116b7ee9e90ea7c1c08f91aa53198599840daa99a0b57261d926fa1ce5e28538be18c84e
|
data/.gitlab-ci.yml
CHANGED
@@ -7,7 +7,7 @@ include:
|
|
7
7
|
- template: Security/Dependency-Scanning.gitlab-ci.yml # https://gitlab.com/gitlab-org/gitlab-foss/blob/master/lib/gitlab/ci/templates/Security/Dependency-Scanning.gitlab-ci.yml
|
8
8
|
|
9
9
|
variables:
|
10
|
-
RUBY_VERSION: "
|
10
|
+
RUBY_VERSION: "3.0"
|
11
11
|
|
12
12
|
stages:
|
13
13
|
- test
|
@@ -43,7 +43,7 @@ rspec:
|
|
43
43
|
before_script: *before_scripts
|
44
44
|
parallel:
|
45
45
|
matrix:
|
46
|
-
- RUBY_VERSION: ["
|
46
|
+
- RUBY_VERSION: ["3.0", "3.1", "3.2", "3.3", "3.4"]
|
47
47
|
|
48
48
|
rspec_integration:
|
49
49
|
script:
|
@@ -78,7 +78,7 @@ rspec_integration:
|
|
78
78
|
REDIS_SENTINEL_PASSWORD: "my-sentinel-password"
|
79
79
|
parallel:
|
80
80
|
matrix:
|
81
|
-
- RUBY_VERSION: ["
|
81
|
+
- RUBY_VERSION: ["3.0", "3.1", "3.2", "3.3", "3.4"]
|
82
82
|
|
83
83
|
rubocop:
|
84
84
|
script:
|
data/.rubocop.yml
CHANGED
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
3.0.7
|
data/Gemfile.lock
CHANGED
@@ -1,45 +1,48 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
gitlab-exporter (
|
5
|
-
connection_pool (= 2.
|
4
|
+
gitlab-exporter (16.0.0)
|
5
|
+
connection_pool (= 2.5.3)
|
6
6
|
deep_merge (~> 1.2.2)
|
7
|
-
faraday (
|
8
|
-
pg (= 1.5.
|
9
|
-
puma (=
|
7
|
+
faraday (= 2.13.3)
|
8
|
+
pg (= 1.5.9)
|
9
|
+
puma (= 6.6.0)
|
10
10
|
quantile (= 0.2.1)
|
11
11
|
redis (= 4.5.0)
|
12
12
|
redis-namespace (= 1.9.0)
|
13
13
|
sidekiq (= 6.5.12)
|
14
|
-
sinatra (~>
|
15
|
-
webrick (~> 1.
|
14
|
+
sinatra (~> 3.2.0)
|
15
|
+
webrick (~> 1.9)
|
16
16
|
|
17
17
|
GEM
|
18
18
|
remote: https://rubygems.org/
|
19
19
|
specs:
|
20
20
|
ast (2.4.1)
|
21
21
|
base64 (0.2.0)
|
22
|
-
connection_pool (2.
|
22
|
+
connection_pool (2.5.3)
|
23
23
|
deep_merge (1.2.2)
|
24
24
|
diff-lcs (1.5.0)
|
25
|
-
faraday (2.
|
26
|
-
|
27
|
-
|
28
|
-
|
25
|
+
faraday (2.13.3)
|
26
|
+
faraday-net_http (>= 2.0, < 3.5)
|
27
|
+
json
|
28
|
+
logger
|
29
29
|
faraday-net_http (3.0.2)
|
30
|
-
|
30
|
+
json (2.13.2)
|
31
|
+
logger (1.7.0)
|
32
|
+
mustermann (3.0.3)
|
31
33
|
ruby2_keywords (~> 0.0.1)
|
32
34
|
nio4r (2.7.4)
|
33
35
|
parallel (1.20.1)
|
34
36
|
parser (3.0.0.0)
|
35
37
|
ast (~> 2.4.1)
|
36
|
-
pg (1.5.
|
37
|
-
puma (
|
38
|
+
pg (1.5.9)
|
39
|
+
puma (6.6.0)
|
38
40
|
nio4r (~> 2.0)
|
39
41
|
quantile (0.2.1)
|
40
42
|
rack (2.2.15)
|
41
|
-
rack-protection (
|
42
|
-
|
43
|
+
rack-protection (3.2.0)
|
44
|
+
base64 (>= 0.1.0)
|
45
|
+
rack (~> 2.2, >= 2.2.4)
|
43
46
|
rainbow (3.0.0)
|
44
47
|
redis (4.5.0)
|
45
48
|
redis-namespace (1.9.0)
|
@@ -76,10 +79,10 @@ GEM
|
|
76
79
|
connection_pool (>= 2.2.5, < 3)
|
77
80
|
rack (~> 2.0)
|
78
81
|
redis (>= 4.5.0, < 5)
|
79
|
-
sinatra (
|
80
|
-
mustermann (~>
|
81
|
-
rack (~> 2.2)
|
82
|
-
rack-protection (=
|
82
|
+
sinatra (3.2.0)
|
83
|
+
mustermann (~> 3.0)
|
84
|
+
rack (~> 2.2, >= 2.2.4)
|
85
|
+
rack-protection (= 3.2.0)
|
83
86
|
tilt (~> 2.0)
|
84
87
|
tilt (2.6.0)
|
85
88
|
unicode-display_width (1.7.0)
|
data/gitlab-exporter.gemspec
CHANGED
@@ -20,19 +20,19 @@ Gem::Specification.new do |s|
|
|
20
20
|
s.homepage = "https://gitlab.com/gitlab-org/ruby/gems/gitlab-exporter"
|
21
21
|
s.license = "MIT"
|
22
22
|
|
23
|
-
s.
|
23
|
+
s.required_ruby_version = Gem::Requirement.new(">= 3.0")
|
24
|
+
|
25
|
+
s.add_runtime_dependency "connection_pool", "2.5.3"
|
24
26
|
s.add_runtime_dependency "deep_merge", "~> 1.2.2"
|
25
|
-
|
26
|
-
|
27
|
-
s.add_runtime_dependency "
|
28
|
-
s.add_runtime_dependency "pg", "1.5.3"
|
29
|
-
s.add_runtime_dependency "puma", "5.6.8"
|
27
|
+
s.add_runtime_dependency "faraday", "2.13.3"
|
28
|
+
s.add_runtime_dependency "pg", "1.5.9"
|
29
|
+
s.add_runtime_dependency "puma", "6.6.0"
|
30
30
|
s.add_runtime_dependency "quantile", "0.2.1"
|
31
31
|
s.add_runtime_dependency "redis", "4.5.0"
|
32
32
|
s.add_runtime_dependency "redis-namespace", "1.9.0"
|
33
33
|
s.add_runtime_dependency "sidekiq", "6.5.12"
|
34
|
-
s.add_runtime_dependency "sinatra", "~>
|
35
|
-
s.add_runtime_dependency "webrick", "~> 1.
|
34
|
+
s.add_runtime_dependency "sinatra", "~> 3.2.0"
|
35
|
+
s.add_runtime_dependency "webrick", "~> 1.9"
|
36
36
|
|
37
37
|
s.add_development_dependency "rspec", "~> 3.12.0"
|
38
38
|
s.add_development_dependency "rspec-expectations", "~> 3.12.0"
|
data/lib/gitlab_exporter/cli.rb
CHANGED
@@ -2,20 +2,6 @@ require "yaml"
|
|
2
2
|
require "deep_merge"
|
3
3
|
require "English"
|
4
4
|
|
5
|
-
# TODO: Remove this once we're on Ruby 3
|
6
|
-
# https://gitlab.com/gitlab-org/gitlab/-/issues/393651
|
7
|
-
unless YAML.respond_to?(:safe_load_file)
|
8
|
-
module YAML # rubocop:disable Style/Documentation
|
9
|
-
# Temporary Ruby 2 back-compat workaround.
|
10
|
-
#
|
11
|
-
# This method only exists as of stdlib 3.0.0:
|
12
|
-
# https://ruby-doc.org/stdlib-3.0.0/libdoc/psych/rdoc/Psych.html
|
13
|
-
def self.safe_load_file(path, **options)
|
14
|
-
YAML.safe_load(File.read(path), **options)
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
5
|
module GitLab
|
20
6
|
module Exporter
|
21
7
|
# Stores runner classes in a single place
|
@@ -79,7 +79,7 @@ module GitLab
|
|
79
79
|
projects.mirror,
|
80
80
|
projects.mirror_trigger_builds,
|
81
81
|
p_ci_pipelines.pipeline_schedule_id,
|
82
|
-
|
82
|
+
p_ci_pipelines.trigger_id,
|
83
83
|
(COALESCE(namespaces.shared_runners_minutes_limit, application_settings.shared_runners_minutes, 0) = 0 OR
|
84
84
|
COALESCE(namespace_statistics.shared_runners_seconds, 0) < COALESCE(namespaces.shared_runners_minutes_limit, application_settings.shared_runners_minutes, 0) * 60) as has_minutes,
|
85
85
|
COUNT(*) AS count
|
@@ -107,7 +107,7 @@ module GitLab
|
|
107
107
|
projects.mirror,
|
108
108
|
projects.mirror_trigger_builds,
|
109
109
|
p_ci_pipelines.pipeline_schedule_id,
|
110
|
-
|
110
|
+
p_ci_pipelines.trigger_id,
|
111
111
|
namespaces.shared_runners_minutes_limit,
|
112
112
|
namespace_statistics.shared_runners_seconds,
|
113
113
|
application_settings.shared_runners_minutes
|
@@ -120,7 +120,7 @@ module GitLab
|
|
120
120
|
ci_runners.runner_type,
|
121
121
|
projects.namespace_id,
|
122
122
|
p_ci_pipelines.pipeline_schedule_id,
|
123
|
-
|
123
|
+
p_ci_pipelines.trigger_id,
|
124
124
|
COUNT(*) AS count
|
125
125
|
FROM p_ci_builds
|
126
126
|
JOIN ci_runners
|
@@ -139,7 +139,7 @@ module GitLab
|
|
139
139
|
ci_runners.runner_type,
|
140
140
|
projects.namespace_id,
|
141
141
|
p_ci_pipelines.pipeline_schedule_id,
|
142
|
-
|
142
|
+
p_ci_pipelines.trigger_id
|
143
143
|
SQL
|
144
144
|
|
145
145
|
EE_CHECK_QUERY =
|
@@ -234,7 +234,7 @@ module GitLab
|
|
234
234
|
runner_type: row["runner_type"],
|
235
235
|
namespace: row["namespace_id"].to_s,
|
236
236
|
scheduled: row["pipeline_schedule_id"] ? "yes" : "no",
|
237
|
-
triggered: row["
|
237
|
+
triggered: row["trigger_id"] ? "yes" : "no",
|
238
238
|
value: row["count"].to_i }
|
239
239
|
include_ee_fields(values, row)
|
240
240
|
end
|
@@ -40,8 +40,8 @@ describe GitLab::Exporter::Database do
|
|
40
40
|
end
|
41
41
|
|
42
42
|
# rubocop:disable Metrics/ParameterLists
|
43
|
-
def per_runner_query_row_ee(runner_id, runner_type, namespace_id, mirror, mirror_trigger_builds, pipeline_schedule_id,
|
44
|
-
row = per_runner_query_row_ce(runner_id, runner_type, namespace_id, pipeline_schedule_id,
|
43
|
+
def per_runner_query_row_ee(runner_id, runner_type, namespace_id, mirror, mirror_trigger_builds, pipeline_schedule_id, trigger_id, has_minutes, count)
|
44
|
+
row = per_runner_query_row_ce(runner_id, runner_type, namespace_id, pipeline_schedule_id, trigger_id, count)
|
45
45
|
row["mirror"] = mirror
|
46
46
|
row["mirror_trigger_builds"] = mirror_trigger_builds
|
47
47
|
row["has_minutes"] = has_minutes
|
@@ -50,12 +50,12 @@ describe GitLab::Exporter::Database do
|
|
50
50
|
# rubocop:enable Metrics/ParameterLists
|
51
51
|
|
52
52
|
# rubocop:disable Metrics/ParameterLists
|
53
|
-
def per_runner_query_row_ce(runner_id, runner_type, namespace_id, pipeline_schedule_id,
|
53
|
+
def per_runner_query_row_ce(runner_id, runner_type, namespace_id, pipeline_schedule_id, trigger_id, count)
|
54
54
|
{ "runner_id" => runner_id,
|
55
55
|
"runner_type" => runner_type,
|
56
56
|
"namespace_id" => namespace_id,
|
57
57
|
"pipeline_schedule_id" => pipeline_schedule_id,
|
58
|
-
"
|
58
|
+
"trigger_id" => trigger_id,
|
59
59
|
"count" => count }
|
60
60
|
end
|
61
61
|
# rubocop:enable Metrics/ParameterLists
|
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:
|
4
|
+
version: 16.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pablo Carranza
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 2.
|
19
|
+
version: 2.5.3
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 2.
|
26
|
+
version: 2.5.3
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: deep_merge
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -42,50 +42,44 @@ dependencies:
|
|
42
42
|
name: faraday
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: 1.8.0
|
48
|
-
- - "<="
|
45
|
+
- - '='
|
49
46
|
- !ruby/object:Gem::Version
|
50
|
-
version: 2.
|
47
|
+
version: 2.13.3
|
51
48
|
type: :runtime
|
52
49
|
prerelease: false
|
53
50
|
version_requirements: !ruby/object:Gem::Requirement
|
54
51
|
requirements:
|
55
|
-
- -
|
56
|
-
- !ruby/object:Gem::Version
|
57
|
-
version: 1.8.0
|
58
|
-
- - "<="
|
52
|
+
- - '='
|
59
53
|
- !ruby/object:Gem::Version
|
60
|
-
version: 2.
|
54
|
+
version: 2.13.3
|
61
55
|
- !ruby/object:Gem::Dependency
|
62
56
|
name: pg
|
63
57
|
requirement: !ruby/object:Gem::Requirement
|
64
58
|
requirements:
|
65
59
|
- - '='
|
66
60
|
- !ruby/object:Gem::Version
|
67
|
-
version: 1.5.
|
61
|
+
version: 1.5.9
|
68
62
|
type: :runtime
|
69
63
|
prerelease: false
|
70
64
|
version_requirements: !ruby/object:Gem::Requirement
|
71
65
|
requirements:
|
72
66
|
- - '='
|
73
67
|
- !ruby/object:Gem::Version
|
74
|
-
version: 1.5.
|
68
|
+
version: 1.5.9
|
75
69
|
- !ruby/object:Gem::Dependency
|
76
70
|
name: puma
|
77
71
|
requirement: !ruby/object:Gem::Requirement
|
78
72
|
requirements:
|
79
73
|
- - '='
|
80
74
|
- !ruby/object:Gem::Version
|
81
|
-
version:
|
75
|
+
version: 6.6.0
|
82
76
|
type: :runtime
|
83
77
|
prerelease: false
|
84
78
|
version_requirements: !ruby/object:Gem::Requirement
|
85
79
|
requirements:
|
86
80
|
- - '='
|
87
81
|
- !ruby/object:Gem::Version
|
88
|
-
version:
|
82
|
+
version: 6.6.0
|
89
83
|
- !ruby/object:Gem::Dependency
|
90
84
|
name: quantile
|
91
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -148,28 +142,28 @@ dependencies:
|
|
148
142
|
requirements:
|
149
143
|
- - "~>"
|
150
144
|
- !ruby/object:Gem::Version
|
151
|
-
version:
|
145
|
+
version: 3.2.0
|
152
146
|
type: :runtime
|
153
147
|
prerelease: false
|
154
148
|
version_requirements: !ruby/object:Gem::Requirement
|
155
149
|
requirements:
|
156
150
|
- - "~>"
|
157
151
|
- !ruby/object:Gem::Version
|
158
|
-
version:
|
152
|
+
version: 3.2.0
|
159
153
|
- !ruby/object:Gem::Dependency
|
160
154
|
name: webrick
|
161
155
|
requirement: !ruby/object:Gem::Requirement
|
162
156
|
requirements:
|
163
157
|
- - "~>"
|
164
158
|
- !ruby/object:Gem::Version
|
165
|
-
version: '1.
|
159
|
+
version: '1.9'
|
166
160
|
type: :runtime
|
167
161
|
prerelease: false
|
168
162
|
version_requirements: !ruby/object:Gem::Requirement
|
169
163
|
requirements:
|
170
164
|
- - "~>"
|
171
165
|
- !ruby/object:Gem::Version
|
172
|
-
version: '1.
|
166
|
+
version: '1.9'
|
173
167
|
- !ruby/object:Gem::Dependency
|
174
168
|
name: rspec
|
175
169
|
requirement: !ruby/object:Gem::Requirement
|
@@ -275,7 +269,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
275
269
|
requirements:
|
276
270
|
- - ">="
|
277
271
|
- !ruby/object:Gem::Version
|
278
|
-
version: '0'
|
272
|
+
version: '3.0'
|
279
273
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
280
274
|
requirements:
|
281
275
|
- - ">="
|