fluent-plugin-google-cloud 0.5.4 → 0.5.5.pre.1
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 04347e11378a890ae709eb943fae378e4c653948
|
4
|
+
data.tar.gz: 48f4f8d264c03eb6d4fe6d16cc19f29bbf64b4fb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9a1baec70a6600ef0b3f086ec1b21ccce2159252da2ff820eaad55a83a8a12eafed606b9336fa43fbaa6ffdc9e5061738f3d74327c4d59e3a79e8267457e3d81
|
7
|
+
data.tar.gz: d50f6e7f48c8117b6183d8adb91c5b329f9ec58b48c023f4665412f7c293dcd6be50ce7c8bcd3763c17cfb108d5027b131f82270830e1920a34f0c16f660d0af
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
fluent-plugin-google-cloud (0.5.
|
4
|
+
fluent-plugin-google-cloud (0.5.5.pre.1)
|
5
5
|
fluentd (~> 0.10)
|
6
6
|
google-api-client (> 0.9)
|
7
7
|
googleapis-common-protos (~> 1.3)
|
@@ -17,12 +17,12 @@ GEM
|
|
17
17
|
ast (2.3.0)
|
18
18
|
astrolabe (1.3.1)
|
19
19
|
parser (~> 2.2)
|
20
|
-
cool.io (1.4.
|
20
|
+
cool.io (1.4.6)
|
21
21
|
crack (0.4.3)
|
22
22
|
safe_yaml (~> 1.0.0)
|
23
23
|
faraday (0.11.0)
|
24
24
|
multipart-post (>= 1.2, < 3)
|
25
|
-
fluentd (0.14.
|
25
|
+
fluentd (0.14.12)
|
26
26
|
cool.io (~> 1.4.5)
|
27
27
|
http_parser.rb (>= 0.5.1, < 0.7.0)
|
28
28
|
msgpack (>= 0.7.0, < 2.0.0)
|
@@ -32,7 +32,7 @@ GEM
|
|
32
32
|
tzinfo (~> 1.0)
|
33
33
|
tzinfo-data (~> 1.0)
|
34
34
|
yajl-ruby (~> 1.0)
|
35
|
-
google-api-client (0.9.
|
35
|
+
google-api-client (0.9.26)
|
36
36
|
addressable (~> 2.3)
|
37
37
|
googleauth (~> 0.5)
|
38
38
|
httpclient (~> 2.7)
|
@@ -73,13 +73,13 @@ GEM
|
|
73
73
|
mime-types-data (3.2016.0521)
|
74
74
|
mocha (1.2.1)
|
75
75
|
metaclass (~> 0.0.1)
|
76
|
-
msgpack (1.0.
|
76
|
+
msgpack (1.0.3)
|
77
77
|
multi_json (1.12.1)
|
78
78
|
multipart-post (2.0.0)
|
79
79
|
os (0.9.6)
|
80
80
|
parser (2.3.3.1)
|
81
81
|
ast (~> 2.2)
|
82
|
-
power_assert (0.
|
82
|
+
power_assert (1.0.1)
|
83
83
|
powerpack (0.1.1)
|
84
84
|
public_suffix (2.0.5)
|
85
85
|
rainbow (2.2.1)
|
@@ -132,4 +132,4 @@ DEPENDENCIES
|
|
132
132
|
webmock (~> 1.17)
|
133
133
|
|
134
134
|
BUNDLED WITH
|
135
|
-
1.14.
|
135
|
+
1.14.3
|
@@ -10,7 +10,7 @@ eos
|
|
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.5.
|
13
|
+
gem.version = '0.5.5.pre.1'
|
14
14
|
gem.authors = ['Todd Derr', 'Alex Robinson']
|
15
15
|
gem.email = ['salty@google.com']
|
16
16
|
gem.required_ruby_version = Gem::Requirement.new('>= 2.0')
|
@@ -39,7 +39,7 @@ module Fluent
|
|
39
39
|
Fluent::Plugin.register_output('google_cloud', self)
|
40
40
|
|
41
41
|
PLUGIN_NAME = 'Fluentd Google Cloud Logging plugin'
|
42
|
-
PLUGIN_VERSION = '0.5.
|
42
|
+
PLUGIN_VERSION = '0.5.5.pre.1'
|
43
43
|
|
44
44
|
# Constants for service names.
|
45
45
|
APPENGINE_SERVICE = 'appengine.googleapis.com'
|
@@ -437,10 +437,17 @@ module Fluent
|
|
437
437
|
|
438
438
|
ts_secs, ts_nanos = compute_timestamp(record, time)
|
439
439
|
if @use_grpc
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
440
|
+
# If "seconds" is null or not an integer, we will omit the timestamp
|
441
|
+
# field and defer the decision on how to handle it to the downstream
|
442
|
+
# Logging API. If "nanos" is null or not an integer, it will be set
|
443
|
+
# to 0.
|
444
|
+
if ts_secs.is_a?(Integer)
|
445
|
+
ts_nanos = 0 unless ts_nanos.is_a?(Integer)
|
446
|
+
entry.metadata.timestamp = Google::Protobuf::Timestamp.new(
|
447
|
+
seconds: ts_secs,
|
448
|
+
nanos: ts_nanos
|
449
|
+
)
|
450
|
+
end
|
444
451
|
|
445
452
|
entry.metadata.severity =
|
446
453
|
grpc_severity(compute_severity(record, entry))
|
@@ -191,6 +191,30 @@ class GoogleCloudOutputTest < Test::Unit::TestCase
|
|
191
191
|
assert_equal('DEFAULT', test_obj.parse_severity('er'))
|
192
192
|
end
|
193
193
|
|
194
|
+
def test_non_integer_timestamp
|
195
|
+
setup_gce_metadata_stubs
|
196
|
+
time = Time.now
|
197
|
+
[
|
198
|
+
{ 'seconds' => nil, 'nanos' => nil },
|
199
|
+
{ 'seconds' => nil, 'nanos' => time.tv_nsec },
|
200
|
+
{ 'seconds' => 'seconds', 'nanos' => time.tv_nsec },
|
201
|
+
{ 'seconds' => time.tv_sec, 'nanos' => 'nanos' },
|
202
|
+
{ 'seconds' => time.tv_sec, 'nanos' => nil }
|
203
|
+
].each do |timestamp|
|
204
|
+
setup_logging_stubs do
|
205
|
+
d = create_driver
|
206
|
+
@logs_sent = []
|
207
|
+
d.emit('message' => log_entry(0), 'timestamp' => timestamp)
|
208
|
+
d.run
|
209
|
+
end
|
210
|
+
verify_log_entries(1, COMPUTE_PARAMS) do |entry|
|
211
|
+
assert_equal timestamp, entry['metadata']['timestamp'],
|
212
|
+
"Test with timestamp '#{timestamp}' failed for " \
|
213
|
+
"entry: '#{entry}'."
|
214
|
+
end
|
215
|
+
end
|
216
|
+
end
|
217
|
+
|
194
218
|
private
|
195
219
|
|
196
220
|
def rename_key(hash, old_key, new_key)
|
@@ -155,6 +155,32 @@ class GoogleCloudOutputGRPCTest < Test::Unit::TestCase
|
|
155
155
|
end
|
156
156
|
end
|
157
157
|
|
158
|
+
def test_non_integer_timestamp
|
159
|
+
setup_gce_metadata_stubs
|
160
|
+
time = Time.now
|
161
|
+
{
|
162
|
+
{ 'seconds' => nil, 'nanos' => nil } => nil,
|
163
|
+
{ 'seconds' => nil, 'nanos' => time.tv_nsec } => nil,
|
164
|
+
{ 'seconds' => 'seconds', 'nanos' => time.tv_nsec } => nil,
|
165
|
+
{ 'seconds' => time.tv_sec, 'nanos' => 'nanos' } => \
|
166
|
+
{ 'seconds' => time.tv_sec },
|
167
|
+
{ 'seconds' => time.tv_sec, 'nanos' => nil } => \
|
168
|
+
{ 'seconds' => time.tv_sec }
|
169
|
+
}.each do |input, expected|
|
170
|
+
setup_logging_stubs do
|
171
|
+
d = create_driver
|
172
|
+
@logs_sent = []
|
173
|
+
d.emit('message' => log_entry(0), 'timestamp' => input)
|
174
|
+
d.run
|
175
|
+
end
|
176
|
+
verify_log_entries(1, COMPUTE_PARAMS) do |entry|
|
177
|
+
assert_equal expected, entry['metadata']['timestamp'],
|
178
|
+
"Test with timestamp '#{input}' failed for " \
|
179
|
+
"entry: '#{entry}'."
|
180
|
+
end
|
181
|
+
end
|
182
|
+
end
|
183
|
+
|
158
184
|
private
|
159
185
|
|
160
186
|
GRPC_MOCK_HOST = 'localhost:56789'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-google-cloud
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.5.pre.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Todd Derr
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-01-
|
12
|
+
date: 2017-01-31 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: fluentd
|
@@ -212,9 +212,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
212
212
|
version: '2.0'
|
213
213
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
214
214
|
requirements:
|
215
|
-
- - "
|
215
|
+
- - ">"
|
216
216
|
- !ruby/object:Gem::Version
|
217
|
-
version:
|
217
|
+
version: 1.3.1
|
218
218
|
requirements: []
|
219
219
|
rubyforge_project:
|
220
220
|
rubygems_version: 2.4.8
|