fluent-plugin-google-cloud 0.12.11 → 0.13.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 +83 -62
- data/fluent-plugin-google-cloud.gemspec +11 -15
- data/lib/fluent/plugin/filter_add_insert_ids.rb +0 -3
- data/lib/fluent/plugin/out_google_cloud.rb +53 -53
- data/lib/fluent/plugin/statusz.rb +4 -2
- data/test/plugin/base_test.rb +5 -2
- data/test/plugin/constants.rb +3 -14
- data/test/plugin/test_out_google_cloud.rb +4 -4
- data/test/plugin/test_out_google_cloud_grpc.rb +10 -8
- data/test/plugin/utils.rb +1 -2
- metadata +42 -28
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c68b17bd8639e6e1c951fe8a6c910433fde73fbdec4d300c68d6bf3418e956a3
|
|
4
|
+
data.tar.gz: 55ecbf8dc1fa3c947cb122b7a5f61764e75fc0cfa8186fb76f80134122c2065f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f33ba5df092033dd0b038445eac3212ba8d9fc9ffd6f93ec57e54a952850e754a09c4fdf00bb831d0f1ce6a1d73ed5a2395a53b0f52bdfa4aac8b58b3ddd72f4
|
|
7
|
+
data.tar.gz: 9e39400962a03ab8babd674984601a3080e524188b4fd015189dfe2f17808397a00160a37923a6cb3e5a51019879ecaf5a226f518291168b867cfa1ccfb9427a
|
data/Gemfile.lock
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
fluent-plugin-google-cloud (0.
|
|
4
|
+
fluent-plugin-google-cloud (0.13.0)
|
|
5
5
|
fluentd (= 1.13.3)
|
|
6
|
-
google-api-client (= 0.
|
|
7
|
-
google-cloud-logging (=
|
|
8
|
-
google-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
google-api-client (= 0.53.0)
|
|
7
|
+
google-cloud-logging (= 2.3.2)
|
|
8
|
+
google-cloud-monitoring-v3 (= 0.10.0)
|
|
9
|
+
google-protobuf (= 3.22.1)
|
|
10
|
+
googleapis-common-protos (= 1.4.0)
|
|
11
|
+
googleauth (= 1.3.0)
|
|
12
|
+
grpc (= 1.52.0)
|
|
12
13
|
json (= 2.6.3)
|
|
13
14
|
opencensus (= 0.5.0)
|
|
14
15
|
opencensus-stackdriver (= 0.4.1)
|
|
@@ -16,7 +17,12 @@ PATH
|
|
|
16
17
|
GEM
|
|
17
18
|
remote: https://rubygems.org/
|
|
18
19
|
specs:
|
|
19
|
-
|
|
20
|
+
activesupport (7.0.5)
|
|
21
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
22
|
+
i18n (>= 1.6, < 2)
|
|
23
|
+
minitest (>= 5.1)
|
|
24
|
+
tzinfo (~> 2.0)
|
|
25
|
+
addressable (2.8.4)
|
|
20
26
|
public_suffix (>= 2.0.2, < 6.0)
|
|
21
27
|
ast (2.4.2)
|
|
22
28
|
concurrent-ruby (1.2.2)
|
|
@@ -31,8 +37,12 @@ GEM
|
|
|
31
37
|
rexml
|
|
32
38
|
declarative (0.0.20)
|
|
33
39
|
docile (1.4.0)
|
|
34
|
-
faraday (
|
|
35
|
-
|
|
40
|
+
faraday (2.7.5)
|
|
41
|
+
faraday-net_http (>= 2.0, < 3.1)
|
|
42
|
+
ruby2_keywords (>= 0.0.4)
|
|
43
|
+
faraday-net_http (3.0.2)
|
|
44
|
+
faraday-retry (2.2.0)
|
|
45
|
+
faraday (~> 2.0)
|
|
36
46
|
fluentd (1.13.3)
|
|
37
47
|
bundler
|
|
38
48
|
cool.io (>= 1.4.5, < 2.0.0)
|
|
@@ -45,76 +55,87 @@ GEM
|
|
|
45
55
|
tzinfo-data (~> 1.0)
|
|
46
56
|
webrick (>= 1.4.2, < 1.8.0)
|
|
47
57
|
yajl-ruby (~> 1.0)
|
|
48
|
-
gapic-common (0.
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
58
|
+
gapic-common (0.19.1)
|
|
59
|
+
faraday (>= 1.9, < 3.a)
|
|
60
|
+
faraday-retry (>= 1.0, < 3.a)
|
|
61
|
+
google-protobuf (~> 3.14)
|
|
62
|
+
googleapis-common-protos (>= 1.3.12, < 2.a)
|
|
63
|
+
googleapis-common-protos-types (>= 1.3.1, < 2.a)
|
|
64
|
+
googleauth (~> 1.0)
|
|
65
|
+
grpc (~> 1.36)
|
|
66
|
+
gems (1.2.0)
|
|
67
|
+
google-api-client (0.53.0)
|
|
68
|
+
google-apis-core (~> 0.1)
|
|
69
|
+
google-apis-generator (~> 0.1)
|
|
70
|
+
google-apis-core (0.11.0)
|
|
55
71
|
addressable (~> 2.5, >= 2.5.1)
|
|
56
|
-
googleauth (
|
|
57
|
-
httpclient (>= 2.8.1, < 3.
|
|
72
|
+
googleauth (>= 0.16.2, < 2.a)
|
|
73
|
+
httpclient (>= 2.8.1, < 3.a)
|
|
58
74
|
mini_mime (~> 1.0)
|
|
59
75
|
representable (~> 3.0)
|
|
60
|
-
retriable (>= 2.0, < 4.
|
|
76
|
+
retriable (>= 2.0, < 4.a)
|
|
61
77
|
rexml
|
|
62
|
-
|
|
78
|
+
webrick
|
|
79
|
+
google-apis-discovery_v1 (0.14.0)
|
|
80
|
+
google-apis-core (>= 0.11.0, < 2.a)
|
|
81
|
+
google-apis-generator (0.12.0)
|
|
82
|
+
activesupport (>= 5.0)
|
|
83
|
+
gems (~> 1.2)
|
|
84
|
+
google-apis-core (>= 0.11.0, < 2.a)
|
|
85
|
+
google-apis-discovery_v1 (~> 0.5)
|
|
86
|
+
thor (>= 0.20, < 2.a)
|
|
63
87
|
google-cloud-core (1.6.0)
|
|
64
88
|
google-cloud-env (~> 1.0)
|
|
65
89
|
google-cloud-errors (~> 1.0)
|
|
66
90
|
google-cloud-env (1.6.0)
|
|
67
91
|
faraday (>= 0.17.3, < 3.0)
|
|
68
92
|
google-cloud-errors (1.3.1)
|
|
69
|
-
google-cloud-logging (
|
|
93
|
+
google-cloud-logging (2.3.2)
|
|
70
94
|
concurrent-ruby (~> 1.1)
|
|
71
|
-
google-cloud-core (~> 1.
|
|
72
|
-
google-
|
|
73
|
-
googleapis-common-protos-types (>= 1.0.2)
|
|
95
|
+
google-cloud-core (~> 1.5)
|
|
96
|
+
google-cloud-logging-v2 (~> 0.0)
|
|
74
97
|
stackdriver-core (~> 1.3)
|
|
75
|
-
google-cloud-
|
|
76
|
-
gapic-common (
|
|
98
|
+
google-cloud-logging-v2 (0.10.0)
|
|
99
|
+
gapic-common (>= 0.19.0, < 2.a)
|
|
100
|
+
google-cloud-errors (~> 1.0)
|
|
101
|
+
google-cloud-monitoring-v3 (0.10.0)
|
|
102
|
+
gapic-common (>= 0.16.0, < 2.a)
|
|
77
103
|
google-cloud-errors (~> 1.0)
|
|
78
|
-
google-cloud-trace-v2 (0.
|
|
79
|
-
gapic-common (
|
|
104
|
+
google-cloud-trace-v2 (0.6.0)
|
|
105
|
+
gapic-common (>= 0.19.0, < 2.a)
|
|
80
106
|
google-cloud-errors (~> 1.0)
|
|
81
|
-
google-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
googleapis-common-protos-types (
|
|
85
|
-
googleauth (~> 0.9)
|
|
86
|
-
grpc (~> 1.24)
|
|
87
|
-
rly (~> 0.2.3)
|
|
88
|
-
google-protobuf (3.20.0-x86_64-linux)
|
|
89
|
-
googleapis-common-protos (1.3.10)
|
|
90
|
-
google-protobuf (~> 3.11)
|
|
91
|
-
googleapis-common-protos-types (>= 1.0.5, < 2.0)
|
|
107
|
+
google-protobuf (3.22.1)
|
|
108
|
+
googleapis-common-protos (1.4.0)
|
|
109
|
+
google-protobuf (~> 3.14)
|
|
110
|
+
googleapis-common-protos-types (~> 1.2)
|
|
92
111
|
grpc (~> 1.27)
|
|
93
|
-
googleapis-common-protos-types (1.
|
|
112
|
+
googleapis-common-protos-types (1.6.0)
|
|
94
113
|
google-protobuf (~> 3.14)
|
|
95
|
-
googleauth (
|
|
96
|
-
faraday (
|
|
114
|
+
googleauth (1.3.0)
|
|
115
|
+
faraday (>= 0.17.3, < 3.a)
|
|
97
116
|
jwt (>= 1.4, < 3.0)
|
|
98
117
|
memoist (~> 0.16)
|
|
99
118
|
multi_json (~> 1.11)
|
|
100
119
|
os (>= 0.9, < 2.0)
|
|
101
|
-
signet (
|
|
102
|
-
grpc (1.
|
|
103
|
-
google-protobuf (~> 3.
|
|
120
|
+
signet (>= 0.16, < 2.a)
|
|
121
|
+
grpc (1.52.0)
|
|
122
|
+
google-protobuf (~> 3.21)
|
|
104
123
|
googleapis-common-protos-types (~> 1.0)
|
|
105
124
|
hashdiff (1.0.1)
|
|
106
125
|
http_parser.rb (0.7.0)
|
|
107
126
|
httpclient (2.8.3)
|
|
127
|
+
i18n (1.14.1)
|
|
128
|
+
concurrent-ruby (~> 1.0)
|
|
108
129
|
json (2.6.3)
|
|
109
130
|
jwt (2.7.0)
|
|
110
131
|
memoist (0.16.2)
|
|
111
132
|
metaclass (0.0.4)
|
|
112
133
|
mini_mime (1.1.2)
|
|
134
|
+
minitest (5.18.0)
|
|
113
135
|
mocha (1.9.0)
|
|
114
136
|
metaclass (~> 0.0.1)
|
|
115
|
-
msgpack (1.
|
|
137
|
+
msgpack (1.7.1)
|
|
116
138
|
multi_json (1.15.0)
|
|
117
|
-
multipart-post (2.3.0)
|
|
118
139
|
opencensus (0.5.0)
|
|
119
140
|
opencensus-stackdriver (0.4.1)
|
|
120
141
|
concurrent-ruby (~> 1.0)
|
|
@@ -123,8 +144,8 @@ GEM
|
|
|
123
144
|
google-cloud-trace-v2 (~> 0.1)
|
|
124
145
|
opencensus (~> 0.5)
|
|
125
146
|
os (1.1.4)
|
|
126
|
-
parallel (1.
|
|
127
|
-
parser (3.2.
|
|
147
|
+
parallel (1.23.0)
|
|
148
|
+
parser (3.2.2.1)
|
|
128
149
|
ast (~> 2.4.1)
|
|
129
150
|
power_assert (2.0.3)
|
|
130
151
|
prometheus-client (0.9.0)
|
|
@@ -132,15 +153,14 @@ GEM
|
|
|
132
153
|
public_suffix (5.0.1)
|
|
133
154
|
quantile (0.2.1)
|
|
134
155
|
rainbow (3.1.1)
|
|
135
|
-
rake (
|
|
136
|
-
regexp_parser (2.
|
|
156
|
+
rake (13.0.6)
|
|
157
|
+
regexp_parser (2.8.0)
|
|
137
158
|
representable (3.2.0)
|
|
138
159
|
declarative (< 0.1.0)
|
|
139
160
|
trailblazer-option (>= 0.1.1, < 0.2.0)
|
|
140
161
|
uber (< 0.2.0)
|
|
141
162
|
retriable (3.1.2)
|
|
142
163
|
rexml (3.2.5)
|
|
143
|
-
rly (0.2.3)
|
|
144
164
|
rubocop (1.48.1)
|
|
145
165
|
json (~> 2.3)
|
|
146
166
|
parallel (~> 1.10)
|
|
@@ -151,9 +171,10 @@ GEM
|
|
|
151
171
|
rubocop-ast (>= 1.26.0, < 2.0)
|
|
152
172
|
ruby-progressbar (~> 1.7)
|
|
153
173
|
unicode-display_width (>= 2.4.0, < 3.0)
|
|
154
|
-
rubocop-ast (1.
|
|
174
|
+
rubocop-ast (1.29.0)
|
|
155
175
|
parser (>= 3.2.1.0)
|
|
156
176
|
ruby-progressbar (1.13.0)
|
|
177
|
+
ruby2_keywords (0.0.5)
|
|
157
178
|
serverengine (2.3.2)
|
|
158
179
|
sigdump (~> 0.2.2)
|
|
159
180
|
sigdump (0.2.4)
|
|
@@ -175,35 +196,35 @@ GEM
|
|
|
175
196
|
tins (~> 1.0)
|
|
176
197
|
test-unit (3.3.3)
|
|
177
198
|
power_assert
|
|
178
|
-
thor (1.2.
|
|
199
|
+
thor (1.2.2)
|
|
179
200
|
tins (1.32.1)
|
|
180
201
|
sync
|
|
181
202
|
trailblazer-option (0.1.2)
|
|
182
203
|
tzinfo (2.0.6)
|
|
183
204
|
concurrent-ruby (~> 1.0)
|
|
184
|
-
tzinfo-data (1.2023.
|
|
205
|
+
tzinfo-data (1.2023.3)
|
|
185
206
|
tzinfo (>= 1.0.0)
|
|
186
207
|
uber (0.1.0)
|
|
187
208
|
unicode-display_width (2.4.2)
|
|
188
|
-
webmock (3.
|
|
189
|
-
addressable (>= 2.
|
|
209
|
+
webmock (3.17.1)
|
|
210
|
+
addressable (>= 2.8.0)
|
|
190
211
|
crack (>= 0.3.2)
|
|
191
212
|
hashdiff (>= 0.4.0, < 2.0.0)
|
|
192
213
|
webrick (1.7.0)
|
|
193
214
|
yajl-ruby (1.4.3)
|
|
194
215
|
|
|
195
216
|
PLATFORMS
|
|
196
|
-
|
|
217
|
+
ruby
|
|
197
218
|
|
|
198
219
|
DEPENDENCIES
|
|
199
220
|
coveralls (= 0.8.23)
|
|
200
221
|
fluent-plugin-google-cloud!
|
|
201
222
|
mocha (= 1.9.0)
|
|
202
223
|
prometheus-client (< 0.10)
|
|
203
|
-
rake (=
|
|
224
|
+
rake (= 13.0.6)
|
|
204
225
|
rubocop (= 1.48.1)
|
|
205
226
|
test-unit (= 3.3.3)
|
|
206
|
-
webmock (= 3.
|
|
227
|
+
webmock (= 3.17.1)
|
|
207
228
|
|
|
208
229
|
BUNDLED WITH
|
|
209
|
-
2.4
|
|
230
|
+
2.1.4
|
|
@@ -10,7 +10,7 @@ Gem::Specification.new do |gem|
|
|
|
10
10
|
gem.homepage =
|
|
11
11
|
'https://github.com/GoogleCloudPlatform/fluent-plugin-google-cloud'
|
|
12
12
|
gem.license = 'Apache-2.0'
|
|
13
|
-
gem.version = '0.
|
|
13
|
+
gem.version = '0.13.0'
|
|
14
14
|
gem.authors = ['Stackdriver Agents Team']
|
|
15
15
|
gem.email = ['stackdriver-agents@google.com']
|
|
16
16
|
gem.required_ruby_version = Gem::Requirement.new('>= 2.6')
|
|
@@ -23,12 +23,13 @@ Gem::Specification.new do |gem|
|
|
|
23
23
|
# also the fluentd version in
|
|
24
24
|
# https://github.com/GoogleCloudPlatform/google-fluentd/blob/master/config/software/fluentd.rb.
|
|
25
25
|
gem.add_runtime_dependency 'fluentd', '1.13.3'
|
|
26
|
-
gem.add_runtime_dependency 'google-api-client', '0.
|
|
27
|
-
gem.add_runtime_dependency 'googleapis-common-protos', '1.
|
|
28
|
-
gem.add_runtime_dependency 'googleauth', '
|
|
29
|
-
gem.add_runtime_dependency 'google-cloud-logging', '
|
|
30
|
-
gem.add_runtime_dependency 'google-
|
|
31
|
-
gem.add_runtime_dependency '
|
|
26
|
+
gem.add_runtime_dependency 'google-api-client', '0.53.0'
|
|
27
|
+
gem.add_runtime_dependency 'googleapis-common-protos', '1.4.0'
|
|
28
|
+
gem.add_runtime_dependency 'googleauth', '1.3.0'
|
|
29
|
+
gem.add_runtime_dependency 'google-cloud-logging', '2.3.2'
|
|
30
|
+
gem.add_runtime_dependency 'google-cloud-monitoring-v3', '0.10.0'
|
|
31
|
+
gem.add_runtime_dependency 'google-protobuf', '3.22.1'
|
|
32
|
+
gem.add_runtime_dependency 'grpc', '1.52.0'
|
|
32
33
|
gem.add_runtime_dependency 'json', '2.6.3'
|
|
33
34
|
gem.add_runtime_dependency 'opencensus', '0.5.0'
|
|
34
35
|
gem.add_runtime_dependency 'opencensus-stackdriver', '0.4.1'
|
|
@@ -36,15 +37,10 @@ Gem::Specification.new do |gem|
|
|
|
36
37
|
gem.add_development_dependency 'mocha', '1.9.0'
|
|
37
38
|
# Keep this the same as in
|
|
38
39
|
# https://github.com/fluent/fluent-plugin-prometheus/blob/master/fluent-plugin-prometheus.gemspec
|
|
39
|
-
gem.add_development_dependency 'prometheus-client', '< 0.10'
|
|
40
|
-
# TODO(qingling128): Upgrade rake to 11.0+ after the following issues are
|
|
41
|
-
# fixed because rake (11.0+) requires ALL variables to be explicitly
|
|
42
|
-
# initialized.
|
|
43
|
-
# https://github.com/googleapis/google-auth-library-ruby/issues/227
|
|
44
|
-
# https://github.com/farcaller/rly/issues/2
|
|
45
40
|
gem.add_development_dependency 'coveralls', '0.8.23'
|
|
46
|
-
gem.add_development_dependency '
|
|
41
|
+
gem.add_development_dependency 'prometheus-client', '< 0.10'
|
|
42
|
+
gem.add_development_dependency 'rake', '13.0.6'
|
|
47
43
|
gem.add_development_dependency 'rubocop', '1.48.1'
|
|
48
44
|
gem.add_development_dependency 'test-unit', '3.3.3'
|
|
49
|
-
gem.add_development_dependency 'webmock', '3.
|
|
45
|
+
gem.add_development_dependency 'webmock', '3.17.1'
|
|
50
46
|
end
|
|
@@ -51,9 +51,6 @@ module Fluent
|
|
|
51
51
|
desc 'The field name for insertIds in the log record.'
|
|
52
52
|
config_param :insert_id_key, :string, default: DEFAULT_INSERT_ID_KEY
|
|
53
53
|
|
|
54
|
-
# Expose attr_readers for testing.
|
|
55
|
-
attr_reader :insert_id_key
|
|
56
|
-
|
|
57
54
|
def start
|
|
58
55
|
super
|
|
59
56
|
@log = $log # rubocop:disable Style/GlobalVars
|
|
@@ -20,9 +20,9 @@ require 'socket'
|
|
|
20
20
|
require 'time'
|
|
21
21
|
require 'yaml'
|
|
22
22
|
require 'google/apis'
|
|
23
|
+
require 'google/cloud/errors'
|
|
23
24
|
require 'google/apis/logging_v2'
|
|
24
25
|
require 'google/cloud/logging/v2'
|
|
25
|
-
require 'google/gax'
|
|
26
26
|
require 'google/logging/v2/logging_pb'
|
|
27
27
|
require 'google/logging/v2/logging_services_pb'
|
|
28
28
|
require 'google/logging/v2/log_entry_pb'
|
|
@@ -149,7 +149,7 @@ module Fluent
|
|
|
149
149
|
%w[userAgent user_agent parse_string]
|
|
150
150
|
],
|
|
151
151
|
# The grpc version class name.
|
|
152
|
-
'Google::Logging::Type::HttpRequest',
|
|
152
|
+
'Google::Cloud::Logging::Type::HttpRequest',
|
|
153
153
|
# The non-grpc version class name.
|
|
154
154
|
'Google::Apis::LoggingV2::HttpRequest'
|
|
155
155
|
],
|
|
@@ -161,7 +161,7 @@ module Fluent
|
|
|
161
161
|
%w[first first parse_bool],
|
|
162
162
|
%w[last last parse_bool]
|
|
163
163
|
],
|
|
164
|
-
'Google::Logging::V2::LogEntryOperation',
|
|
164
|
+
'Google::Cloud::Logging::V2::LogEntryOperation',
|
|
165
165
|
'Google::Apis::LoggingV2::LogEntryOperation'
|
|
166
166
|
],
|
|
167
167
|
'source_location' => [
|
|
@@ -171,7 +171,7 @@ module Fluent
|
|
|
171
171
|
%w[function function parse_string],
|
|
172
172
|
%w[line line parse_int]
|
|
173
173
|
],
|
|
174
|
-
'Google::Logging::V2::LogEntrySourceLocation',
|
|
174
|
+
'Google::Cloud::Logging::V2::LogEntrySourceLocation',
|
|
175
175
|
'Google::Apis::LoggingV2::LogEntrySourceLocation'
|
|
176
176
|
]
|
|
177
177
|
}.freeze
|
|
@@ -431,7 +431,7 @@ module Fluent
|
|
|
431
431
|
|
|
432
432
|
# Expose attr_readers to make testing of metadata more direct than only
|
|
433
433
|
# testing it indirectly through metadata sent with logs.
|
|
434
|
-
attr_reader :
|
|
434
|
+
attr_reader :resource, :common_labels, :monitoring_resource
|
|
435
435
|
|
|
436
436
|
def initialize
|
|
437
437
|
super
|
|
@@ -784,7 +784,7 @@ module Fluent
|
|
|
784
784
|
|
|
785
785
|
if @split_logs_by_tag
|
|
786
786
|
requests_to_send.each do |request|
|
|
787
|
-
@write_request.call(request)
|
|
787
|
+
@write_request.call(**request)
|
|
788
788
|
end
|
|
789
789
|
else
|
|
790
790
|
# Combine all requests into one. The request level "log_name" will be
|
|
@@ -846,7 +846,7 @@ module Fluent
|
|
|
846
846
|
severity,
|
|
847
847
|
ts_secs,
|
|
848
848
|
ts_nanos)
|
|
849
|
-
entry = Google::Logging::V2::LogEntry.new(
|
|
849
|
+
entry = Google::Cloud::Logging::V2::LogEntry.new(
|
|
850
850
|
labels: labels,
|
|
851
851
|
resource: Google::Api::MonitoredResource.new(
|
|
852
852
|
type: resource.type,
|
|
@@ -893,7 +893,7 @@ module Fluent
|
|
|
893
893
|
client = api_client
|
|
894
894
|
entries_count = entries.length
|
|
895
895
|
client.write_log_entries(
|
|
896
|
-
entries,
|
|
896
|
+
entries: entries,
|
|
897
897
|
log_name: log_name,
|
|
898
898
|
# Leave resource nil if it's nil.
|
|
899
899
|
resource: if resource
|
|
@@ -916,7 +916,7 @@ module Fluent
|
|
|
916
916
|
@successful_call = true
|
|
917
917
|
@log.info 'Successfully sent gRPC to Stackdriver Logging API.'
|
|
918
918
|
end
|
|
919
|
-
rescue Google::
|
|
919
|
+
rescue Google::Cloud::Error => e
|
|
920
920
|
# GRPC::BadStatus is wrapped in error.cause.
|
|
921
921
|
error = e.cause
|
|
922
922
|
|
|
@@ -1007,7 +1007,7 @@ module Fluent
|
|
|
1007
1007
|
error: error.to_s, error_code: error_code.to_s
|
|
1008
1008
|
end
|
|
1009
1009
|
|
|
1010
|
-
# Got an unexpected error (not Google::
|
|
1010
|
+
# Got an unexpected error (not Google::Cloud::Error) from the
|
|
1011
1011
|
# google-cloud-logging lib.
|
|
1012
1012
|
rescue StandardError => e
|
|
1013
1013
|
increment_failed_requests_count(GRPC::Core::StatusCodes::UNKNOWN)
|
|
@@ -1470,20 +1470,20 @@ module Fluent
|
|
|
1470
1470
|
|
|
1471
1471
|
extracted_subfields = subfields.each_with_object({}) \
|
|
1472
1472
|
do |(original_key, destination_key, cast_fn), extracted_fields|
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1483
|
-
|
|
1473
|
+
value = fields.delete(original_key)
|
|
1474
|
+
next if value.nil?
|
|
1475
|
+
|
|
1476
|
+
begin
|
|
1477
|
+
casted_value = send(cast_fn, value)
|
|
1478
|
+
rescue TypeError
|
|
1479
|
+
@log.error "Failed to #{cast_fn} for #{field_name}." \
|
|
1480
|
+
"#{original_key} with value #{value.inspect}.", err
|
|
1481
|
+
next
|
|
1482
|
+
end
|
|
1483
|
+
next if casted_value.nil?
|
|
1484
1484
|
|
|
1485
|
-
|
|
1486
|
-
|
|
1485
|
+
extracted_fields[destination_key] = casted_value
|
|
1486
|
+
end
|
|
1487
1487
|
|
|
1488
1488
|
next unless extracted_subfields
|
|
1489
1489
|
|
|
@@ -1599,30 +1599,30 @@ module Fluent
|
|
|
1599
1599
|
end
|
|
1600
1600
|
|
|
1601
1601
|
GRPC_SEVERITY_MAPPING = {
|
|
1602
|
-
'DEFAULT' => Google::Logging::Type::LogSeverity::DEFAULT,
|
|
1603
|
-
'DEBUG' => Google::Logging::Type::LogSeverity::DEBUG,
|
|
1604
|
-
'INFO' => Google::Logging::Type::LogSeverity::INFO,
|
|
1605
|
-
'NOTICE' => Google::Logging::Type::LogSeverity::NOTICE,
|
|
1606
|
-
'WARNING' => Google::Logging::Type::LogSeverity::WARNING,
|
|
1607
|
-
'ERROR' => Google::Logging::Type::LogSeverity::ERROR,
|
|
1608
|
-
'CRITICAL' => Google::Logging::Type::LogSeverity::CRITICAL,
|
|
1609
|
-
'ALERT' => Google::Logging::Type::LogSeverity::ALERT,
|
|
1610
|
-
'EMERGENCY' => Google::Logging::Type::LogSeverity::EMERGENCY,
|
|
1611
|
-
0 => Google::Logging::Type::LogSeverity::DEFAULT,
|
|
1612
|
-
100 => Google::Logging::Type::LogSeverity::DEBUG,
|
|
1613
|
-
200 => Google::Logging::Type::LogSeverity::INFO,
|
|
1614
|
-
300 => Google::Logging::Type::LogSeverity::NOTICE,
|
|
1615
|
-
400 => Google::Logging::Type::LogSeverity::WARNING,
|
|
1616
|
-
500 => Google::Logging::Type::LogSeverity::ERROR,
|
|
1617
|
-
600 => Google::Logging::Type::LogSeverity::CRITICAL,
|
|
1618
|
-
700 => Google::Logging::Type::LogSeverity::ALERT,
|
|
1619
|
-
800 => Google::Logging::Type::LogSeverity::EMERGENCY
|
|
1602
|
+
'DEFAULT' => Google::Cloud::Logging::Type::LogSeverity::DEFAULT,
|
|
1603
|
+
'DEBUG' => Google::Cloud::Logging::Type::LogSeverity::DEBUG,
|
|
1604
|
+
'INFO' => Google::Cloud::Logging::Type::LogSeverity::INFO,
|
|
1605
|
+
'NOTICE' => Google::Cloud::Logging::Type::LogSeverity::NOTICE,
|
|
1606
|
+
'WARNING' => Google::Cloud::Logging::Type::LogSeverity::WARNING,
|
|
1607
|
+
'ERROR' => Google::Cloud::Logging::Type::LogSeverity::ERROR,
|
|
1608
|
+
'CRITICAL' => Google::Cloud::Logging::Type::LogSeverity::CRITICAL,
|
|
1609
|
+
'ALERT' => Google::Cloud::Logging::Type::LogSeverity::ALERT,
|
|
1610
|
+
'EMERGENCY' => Google::Cloud::Logging::Type::LogSeverity::EMERGENCY,
|
|
1611
|
+
0 => Google::Cloud::Logging::Type::LogSeverity::DEFAULT,
|
|
1612
|
+
100 => Google::Cloud::Logging::Type::LogSeverity::DEBUG,
|
|
1613
|
+
200 => Google::Cloud::Logging::Type::LogSeverity::INFO,
|
|
1614
|
+
300 => Google::Cloud::Logging::Type::LogSeverity::NOTICE,
|
|
1615
|
+
400 => Google::Cloud::Logging::Type::LogSeverity::WARNING,
|
|
1616
|
+
500 => Google::Cloud::Logging::Type::LogSeverity::ERROR,
|
|
1617
|
+
600 => Google::Cloud::Logging::Type::LogSeverity::CRITICAL,
|
|
1618
|
+
700 => Google::Cloud::Logging::Type::LogSeverity::ALERT,
|
|
1619
|
+
800 => Google::Cloud::Logging::Type::LogSeverity::EMERGENCY
|
|
1620
1620
|
}.freeze
|
|
1621
1621
|
|
|
1622
1622
|
def grpc_severity(severity)
|
|
1623
1623
|
# TODO: find out why this doesn't work.
|
|
1624
1624
|
# if severity.is_a? String
|
|
1625
|
-
# return Google::Logging::Type::LogSeverity.resolve(severity)
|
|
1625
|
+
# return Google::Cloud::Logging::Type::LogSeverity.resolve(severity)
|
|
1626
1626
|
# end
|
|
1627
1627
|
return GRPC_SEVERITY_MAPPING[severity] if GRPC_SEVERITY_MAPPING.key?(severity)
|
|
1628
1628
|
|
|
@@ -1700,9 +1700,9 @@ module Fluent
|
|
|
1700
1700
|
|
|
1701
1701
|
label_map.each_with_object({}) \
|
|
1702
1702
|
do |(original_label, new_label), extracted_labels|
|
|
1703
|
-
|
|
1704
|
-
|
|
1705
|
-
|
|
1703
|
+
value = hash.delete(original_label)
|
|
1704
|
+
extracted_labels[new_label] = convert_to_utf8(value.to_s) if value
|
|
1705
|
+
end
|
|
1706
1706
|
end
|
|
1707
1707
|
|
|
1708
1708
|
def value_from_ruby(value)
|
|
@@ -1834,11 +1834,11 @@ module Fluent
|
|
|
1834
1834
|
"#{Google::Apis::OS_VERSION}"
|
|
1835
1835
|
channel_args = { 'grpc.primary_user_agent' => user_agent }
|
|
1836
1836
|
.merge!(compression_channel_args)
|
|
1837
|
-
@client = Google::Cloud::Logging::V2::
|
|
1838
|
-
credentials
|
|
1837
|
+
@client = Google::Cloud::Logging::V2::LoggingService::Client.new do |config|
|
|
1838
|
+
config.credentials = GRPC::Core::Channel.new(
|
|
1839
1839
|
"#{host}#{port}", channel_args, creds
|
|
1840
1840
|
)
|
|
1841
|
-
|
|
1841
|
+
end
|
|
1842
1842
|
else
|
|
1843
1843
|
# TODO: Use a non-default ClientOptions object.
|
|
1844
1844
|
Google::Apis::ClientOptions.default.application_name = PLUGIN_NAME
|
|
@@ -2004,11 +2004,10 @@ module Fluent
|
|
|
2004
2004
|
# are a list of indexes of log entries that failed due to this error.
|
|
2005
2005
|
#
|
|
2006
2006
|
# A sample error looks like:
|
|
2007
|
-
# <Google::
|
|
2008
|
-
# message: '
|
|
2009
|
-
# ified as transient, caused by 7:User not authorized.',
|
|
2007
|
+
# <Google::Cloud::PermissionDeniedError:
|
|
2008
|
+
# message: 'User not authorized.',
|
|
2010
2009
|
# details: [
|
|
2011
|
-
# <Google::Logging::V2::WriteLogEntriesPartialErrors:
|
|
2010
|
+
# <Google::Cloud::Logging::V2::WriteLogEntriesPartialErrors:
|
|
2012
2011
|
# log_entry_errors: {
|
|
2013
2012
|
# 0 => <Google::Rpc::Status:
|
|
2014
2013
|
# code: 7,
|
|
@@ -2038,13 +2037,14 @@ module Fluent
|
|
|
2038
2037
|
# [3, 'Log name contains illegal character :']: [1, 3]
|
|
2039
2038
|
# }
|
|
2040
2039
|
def construct_error_details_map_grpc(gax_error)
|
|
2040
|
+
@log.error "construct_error_details_map_grpc: #{gax_error}"
|
|
2041
2041
|
error_details_map = Hash.new { |h, k| h[k] = [] }
|
|
2042
2042
|
error_details = ensure_array(gax_error.status_details)
|
|
2043
2043
|
raise JSON::ParserError, 'The error details are empty.' if
|
|
2044
2044
|
error_details.empty?
|
|
2045
2045
|
raise JSON::ParserError, 'No partial error info in error details.' unless
|
|
2046
2046
|
error_details[0].is_a?(
|
|
2047
|
-
Google::Logging::V2::WriteLogEntriesPartialErrors
|
|
2047
|
+
Google::Cloud::Logging::V2::WriteLogEntriesPartialErrors
|
|
2048
2048
|
)
|
|
2049
2049
|
|
|
2050
2050
|
log_entry_errors = ensure_hash(error_details[0].log_entry_errors)
|
|
@@ -19,14 +19,16 @@ require 'erb'
|
|
|
19
19
|
module Statusz
|
|
20
20
|
module_function
|
|
21
21
|
|
|
22
|
-
# NOTE: The plugin parameter is referenced in STATUSZ_TMPL.
|
|
23
22
|
def response(plugin)
|
|
24
23
|
uptime = Time.now - SERVER_START
|
|
25
24
|
uptime_str = format('%<hours>d hr %<minutes>02d min %<seconds>02d sec',
|
|
26
25
|
hours: uptime / 3600,
|
|
27
26
|
minutes: (uptime / 60) % 60,
|
|
28
27
|
seconds: uptime % 60)
|
|
29
|
-
ERB.new(STATUSZ_TMPL).
|
|
28
|
+
ERB.new(STATUSZ_TMPL).result_with_hash(
|
|
29
|
+
plugin: plugin,
|
|
30
|
+
uptime_str: uptime_str
|
|
31
|
+
)
|
|
30
32
|
end
|
|
31
33
|
end
|
|
32
34
|
|
data/test/plugin/base_test.rb
CHANGED
|
@@ -29,8 +29,10 @@ require_relative 'utils'
|
|
|
29
29
|
|
|
30
30
|
module Monitoring
|
|
31
31
|
# Prevent OpenCensus from writing to the network.
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
OpenCensusMonitoringRegistry.class_eval do
|
|
33
|
+
# Suppress redefine warning (https://bugs.ruby-lang.org/issues/17055).
|
|
34
|
+
alias_method :export, :export
|
|
35
|
+
define_method(:export) do
|
|
34
36
|
nil
|
|
35
37
|
end
|
|
36
38
|
end
|
|
@@ -55,6 +57,7 @@ module BaseTest
|
|
|
55
57
|
registry.unregister(:stackdriver_retried_entries_count)
|
|
56
58
|
|
|
57
59
|
setup_auth_stubs('https://www.googleapis.com/oauth2/v4/token')
|
|
60
|
+
setup_auth_stubs('https://oauth2.googleapis.com/token')
|
|
58
61
|
@logs_sent = []
|
|
59
62
|
end
|
|
60
63
|
|
data/test/plugin/constants.rb
CHANGED
|
@@ -12,20 +12,9 @@
|
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
|
+
require 'google/rpc/error_details_pb'
|
|
16
|
+
|
|
15
17
|
# Add some helper methods to standard classes.
|
|
16
|
-
module Google
|
|
17
|
-
module Protobuf
|
|
18
|
-
Any.class_eval do
|
|
19
|
-
# TODO(igorpeshansky): Remove this once
|
|
20
|
-
# https://github.com/google/protobuf/pull/4719 gets released.
|
|
21
|
-
def self.pack(msg, type_url_prefix = 'type.googleapis.com/')
|
|
22
|
-
any = Google::Protobuf::Any.new
|
|
23
|
-
any.pack(msg, type_url_prefix)
|
|
24
|
-
any
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
18
|
String.class_eval do
|
|
30
19
|
def inspect_octal
|
|
31
20
|
specials = {
|
|
@@ -1018,7 +1007,7 @@ module Constants
|
|
|
1018
1007
|
}.freeze
|
|
1019
1008
|
|
|
1020
1009
|
PARTIAL_SUCCESS_GRPC_METADATA = begin
|
|
1021
|
-
partial_errors = Google::Logging::V2::WriteLogEntriesPartialErrors.new(
|
|
1010
|
+
partial_errors = Google::Cloud::Logging::V2::WriteLogEntriesPartialErrors.new(
|
|
1022
1011
|
log_entry_errors: {
|
|
1023
1012
|
0 => Google::Rpc::Status.new(
|
|
1024
1013
|
code: GRPC::Core::StatusCodes::PERMISSION_DENIED,
|
|
@@ -198,10 +198,10 @@ class GoogleCloudOutputTest < Test::Unit::TestCase
|
|
|
198
198
|
# known severities should translate to themselves, regardless of case
|
|
199
199
|
%w[DEFAULT DEBUG INFO NOTICE WARNING ERROR CRITICAL ALERT EMERGENCY].each \
|
|
200
200
|
do |severity|
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
201
|
+
assert_equal(severity, test_obj.parse_severity(severity))
|
|
202
|
+
assert_equal(severity, test_obj.parse_severity(severity.downcase))
|
|
203
|
+
assert_equal(severity, test_obj.parse_severity(severity.capitalize))
|
|
204
|
+
end
|
|
205
205
|
|
|
206
206
|
# numeric levels
|
|
207
207
|
assert_equal(0, test_obj.parse_severity('0'))
|
|
@@ -34,6 +34,8 @@ class GoogleCloudOutputGRPCTest < Test::Unit::TestCase
|
|
|
34
34
|
# Record user agent when creating a GRPC::Core::Channel.
|
|
35
35
|
GRPC::Core::Channel.class_eval do
|
|
36
36
|
old_initialize = instance_method(:initialize)
|
|
37
|
+
# Suppress redefine warning (https://bugs.ruby-lang.org/issues/17055).
|
|
38
|
+
alias_method :initialize, :initialize
|
|
37
39
|
define_method(:initialize) do |url, args, creds|
|
|
38
40
|
user_agent = args['grpc.primary_user_agent']
|
|
39
41
|
old_initialize.bind(self).call(url, args, creds)
|
|
@@ -270,8 +272,8 @@ class GoogleCloudOutputGRPCTest < Test::Unit::TestCase
|
|
|
270
272
|
|
|
271
273
|
private
|
|
272
274
|
|
|
273
|
-
WriteLogEntriesRequest = Google::Logging::V2::WriteLogEntriesRequest
|
|
274
|
-
WriteLogEntriesResponse = Google::Logging::V2::WriteLogEntriesResponse
|
|
275
|
+
WriteLogEntriesRequest = Google::Cloud::Logging::V2::WriteLogEntriesRequest
|
|
276
|
+
WriteLogEntriesResponse = Google::Cloud::Logging::V2::WriteLogEntriesResponse
|
|
275
277
|
|
|
276
278
|
USE_GRPC_CONFIG = %(
|
|
277
279
|
use_grpc true
|
|
@@ -332,13 +334,13 @@ class GoogleCloudOutputGRPCTest < Test::Unit::TestCase
|
|
|
332
334
|
|
|
333
335
|
# GRPC logging mock that successfully logs the records.
|
|
334
336
|
class GRPCLoggingMockService <
|
|
335
|
-
Google::Cloud::Logging::V2::
|
|
337
|
+
Google::Cloud::Logging::V2::LoggingService::Client
|
|
336
338
|
def initialize(requests_received)
|
|
337
339
|
super()
|
|
338
340
|
@requests_received = requests_received
|
|
339
341
|
end
|
|
340
342
|
|
|
341
|
-
def write_log_entries(entries
|
|
343
|
+
def write_log_entries(entries:,
|
|
342
344
|
log_name: nil,
|
|
343
345
|
resource: nil,
|
|
344
346
|
labels: nil,
|
|
@@ -357,7 +359,7 @@ class GoogleCloudOutputGRPCTest < Test::Unit::TestCase
|
|
|
357
359
|
|
|
358
360
|
# GRPC logging mock that fails and returns server side or client side errors.
|
|
359
361
|
class GRPCLoggingMockFailingService <
|
|
360
|
-
Google::Cloud::Logging::V2::
|
|
362
|
+
Google::Cloud::Logging::V2::LoggingService::Client
|
|
361
363
|
def initialize(error, failed_attempts)
|
|
362
364
|
super()
|
|
363
365
|
@error = error
|
|
@@ -365,7 +367,7 @@ class GoogleCloudOutputGRPCTest < Test::Unit::TestCase
|
|
|
365
367
|
end
|
|
366
368
|
|
|
367
369
|
# rubocop:disable Lint/UnusedMethodArgument
|
|
368
|
-
def write_log_entries(entries
|
|
370
|
+
def write_log_entries(entries:,
|
|
369
371
|
log_name: nil,
|
|
370
372
|
resource: nil,
|
|
371
373
|
labels: nil,
|
|
@@ -374,8 +376,8 @@ class GoogleCloudOutputGRPCTest < Test::Unit::TestCase
|
|
|
374
376
|
begin
|
|
375
377
|
raise @error
|
|
376
378
|
rescue StandardError
|
|
377
|
-
# Google::
|
|
378
|
-
raise Google::
|
|
379
|
+
# Google::Cloud::Error will wrap the latest thrown exception as @cause.
|
|
380
|
+
raise Google::Cloud::Error, 'This test message does not matter.'
|
|
379
381
|
end
|
|
380
382
|
end
|
|
381
383
|
# rubocop:enable Lint/UnusedMethodArgument
|
data/test/plugin/utils.rb
CHANGED
|
@@ -60,8 +60,7 @@ module Utils
|
|
|
60
60
|
"attribute1\nattribute2\nattribute3")
|
|
61
61
|
|
|
62
62
|
# Used by 'googleauth' to fetch the default service account credentials.
|
|
63
|
-
stub_request(:get,
|
|
64
|
-
'instance/service-accounts/default/token')
|
|
63
|
+
stub_request(:get, %r{http://169.254.169.254/computeMetadata/v1/instance/service-accounts/default/token(?:\?.*)})
|
|
65
64
|
.to_return(body: %({"access_token": "#{FAKE_AUTH_TOKEN}"}),
|
|
66
65
|
status: 200,
|
|
67
66
|
headers: { 'Content-Length' => FAKE_AUTH_TOKEN.length,
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: fluent-plugin-google-cloud
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.13.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Stackdriver Agents Team
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2023-
|
|
11
|
+
date: 2023-06-05 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: fluentd
|
|
@@ -30,84 +30,98 @@ dependencies:
|
|
|
30
30
|
requirements:
|
|
31
31
|
- - '='
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: 0.
|
|
33
|
+
version: 0.53.0
|
|
34
34
|
type: :runtime
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
38
|
- - '='
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: 0.
|
|
40
|
+
version: 0.53.0
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
42
|
name: googleapis-common-protos
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
45
|
- - '='
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: 1.
|
|
47
|
+
version: 1.4.0
|
|
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.
|
|
54
|
+
version: 1.4.0
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
56
|
name: googleauth
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
58
58
|
requirements:
|
|
59
59
|
- - '='
|
|
60
60
|
- !ruby/object:Gem::Version
|
|
61
|
-
version:
|
|
61
|
+
version: 1.3.0
|
|
62
62
|
type: :runtime
|
|
63
63
|
prerelease: false
|
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
65
|
requirements:
|
|
66
66
|
- - '='
|
|
67
67
|
- !ruby/object:Gem::Version
|
|
68
|
-
version:
|
|
68
|
+
version: 1.3.0
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
70
|
name: google-cloud-logging
|
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
|
72
72
|
requirements:
|
|
73
73
|
- - '='
|
|
74
74
|
- !ruby/object:Gem::Version
|
|
75
|
-
version:
|
|
75
|
+
version: 2.3.2
|
|
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:
|
|
82
|
+
version: 2.3.2
|
|
83
|
+
- !ruby/object:Gem::Dependency
|
|
84
|
+
name: google-cloud-monitoring-v3
|
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
|
86
|
+
requirements:
|
|
87
|
+
- - '='
|
|
88
|
+
- !ruby/object:Gem::Version
|
|
89
|
+
version: 0.10.0
|
|
90
|
+
type: :runtime
|
|
91
|
+
prerelease: false
|
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
+
requirements:
|
|
94
|
+
- - '='
|
|
95
|
+
- !ruby/object:Gem::Version
|
|
96
|
+
version: 0.10.0
|
|
83
97
|
- !ruby/object:Gem::Dependency
|
|
84
98
|
name: google-protobuf
|
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
|
86
100
|
requirements:
|
|
87
101
|
- - '='
|
|
88
102
|
- !ruby/object:Gem::Version
|
|
89
|
-
version: 3.
|
|
103
|
+
version: 3.22.1
|
|
90
104
|
type: :runtime
|
|
91
105
|
prerelease: false
|
|
92
106
|
version_requirements: !ruby/object:Gem::Requirement
|
|
93
107
|
requirements:
|
|
94
108
|
- - '='
|
|
95
109
|
- !ruby/object:Gem::Version
|
|
96
|
-
version: 3.
|
|
110
|
+
version: 3.22.1
|
|
97
111
|
- !ruby/object:Gem::Dependency
|
|
98
112
|
name: grpc
|
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
|
100
114
|
requirements:
|
|
101
115
|
- - '='
|
|
102
116
|
- !ruby/object:Gem::Version
|
|
103
|
-
version: 1.
|
|
117
|
+
version: 1.52.0
|
|
104
118
|
type: :runtime
|
|
105
119
|
prerelease: false
|
|
106
120
|
version_requirements: !ruby/object:Gem::Requirement
|
|
107
121
|
requirements:
|
|
108
122
|
- - '='
|
|
109
123
|
- !ruby/object:Gem::Version
|
|
110
|
-
version: 1.
|
|
124
|
+
version: 1.52.0
|
|
111
125
|
- !ruby/object:Gem::Dependency
|
|
112
126
|
name: json
|
|
113
127
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -165,47 +179,47 @@ dependencies:
|
|
|
165
179
|
- !ruby/object:Gem::Version
|
|
166
180
|
version: 1.9.0
|
|
167
181
|
- !ruby/object:Gem::Dependency
|
|
168
|
-
name:
|
|
182
|
+
name: coveralls
|
|
169
183
|
requirement: !ruby/object:Gem::Requirement
|
|
170
184
|
requirements:
|
|
171
|
-
- -
|
|
185
|
+
- - '='
|
|
172
186
|
- !ruby/object:Gem::Version
|
|
173
|
-
version:
|
|
187
|
+
version: 0.8.23
|
|
174
188
|
type: :development
|
|
175
189
|
prerelease: false
|
|
176
190
|
version_requirements: !ruby/object:Gem::Requirement
|
|
177
191
|
requirements:
|
|
178
|
-
- -
|
|
192
|
+
- - '='
|
|
179
193
|
- !ruby/object:Gem::Version
|
|
180
|
-
version:
|
|
194
|
+
version: 0.8.23
|
|
181
195
|
- !ruby/object:Gem::Dependency
|
|
182
|
-
name:
|
|
196
|
+
name: prometheus-client
|
|
183
197
|
requirement: !ruby/object:Gem::Requirement
|
|
184
198
|
requirements:
|
|
185
|
-
- -
|
|
199
|
+
- - "<"
|
|
186
200
|
- !ruby/object:Gem::Version
|
|
187
|
-
version: 0.
|
|
201
|
+
version: '0.10'
|
|
188
202
|
type: :development
|
|
189
203
|
prerelease: false
|
|
190
204
|
version_requirements: !ruby/object:Gem::Requirement
|
|
191
205
|
requirements:
|
|
192
|
-
- -
|
|
206
|
+
- - "<"
|
|
193
207
|
- !ruby/object:Gem::Version
|
|
194
|
-
version: 0.
|
|
208
|
+
version: '0.10'
|
|
195
209
|
- !ruby/object:Gem::Dependency
|
|
196
210
|
name: rake
|
|
197
211
|
requirement: !ruby/object:Gem::Requirement
|
|
198
212
|
requirements:
|
|
199
213
|
- - '='
|
|
200
214
|
- !ruby/object:Gem::Version
|
|
201
|
-
version:
|
|
215
|
+
version: 13.0.6
|
|
202
216
|
type: :development
|
|
203
217
|
prerelease: false
|
|
204
218
|
version_requirements: !ruby/object:Gem::Requirement
|
|
205
219
|
requirements:
|
|
206
220
|
- - '='
|
|
207
221
|
- !ruby/object:Gem::Version
|
|
208
|
-
version:
|
|
222
|
+
version: 13.0.6
|
|
209
223
|
- !ruby/object:Gem::Dependency
|
|
210
224
|
name: rubocop
|
|
211
225
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -240,14 +254,14 @@ dependencies:
|
|
|
240
254
|
requirements:
|
|
241
255
|
- - '='
|
|
242
256
|
- !ruby/object:Gem::Version
|
|
243
|
-
version: 3.
|
|
257
|
+
version: 3.17.1
|
|
244
258
|
type: :development
|
|
245
259
|
prerelease: false
|
|
246
260
|
version_requirements: !ruby/object:Gem::Requirement
|
|
247
261
|
requirements:
|
|
248
262
|
- - '='
|
|
249
263
|
- !ruby/object:Gem::Version
|
|
250
|
-
version: 3.
|
|
264
|
+
version: 3.17.1
|
|
251
265
|
description: |2
|
|
252
266
|
Fluentd plugins for the Stackdriver Logging API, which will make logs
|
|
253
267
|
viewable in the Stackdriver Logs Viewer and can optionally store them
|