fluent-plugin-kube-events-timestamp 0.1.0 → 0.1.1

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: 3dfe5a8c690dc78e410526e16bcab7a300eb2ec2e94120514d4a5d506b0cbf6a
4
- data.tar.gz: f012d1226ebaa0294bab225d9718d6a0de21a9808e562a5e2582902f69ede398
3
+ metadata.gz: 1d6428e2597ae949d42c4c296af87a7485d1ebbad75739d541a2138e67a2f79c
4
+ data.tar.gz: 2a2a2bcadf07e6833af53227bdda111f34e277da9de2b78d52c17e3540568ee4
5
5
  SHA512:
6
- metadata.gz: c7d97dede27902bd9f8d8fe246a59bc826db32133573325d3ccf38ff99c22d50bb233517448b236a8f101d8ed520bb410db0d7c26d2008be9441346574b839a1
7
- data.tar.gz: 60ba72bdb67f23c8e822a50cde4a944bc0a369285953f096c045eaded114bf91c5af6fead3436e760b82fdde17e8fcee7bbeffe7dacdb9492ee9d84ead090809
6
+ metadata.gz: 06a67900625f7d0ce5cb5d06083b57fcb21860bbfcd09c29d12eccfef1b57153cdcd5cdc5c5dd06559d0e648111ff363f5d222999a9f4e845902ff8172b4c9bd
7
+ data.tar.gz: 6419352d93f4f6341cee6b429a9ca77e3cd47b0796ccae8962aa9593fb19db4df99969bc38b33bd6b287ea368d8aba879effb224926016d4f1cf436a1b6ba3cc
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = "fluent-plugin-kube-events-timestamp"
3
- spec.version = "0.1.0"
3
+ spec.version = "0.1.1"
4
4
  spec.authors = ["Banzai Cloud"]
5
5
  spec.email = ["info@banzaicloud.com"]
6
6
  spec.description = %q{fluent filter plugin to map multiple timestamps into an additional one}
@@ -12,7 +12,7 @@ module Fluent::Plugin
12
12
  super
13
13
  require 'date'
14
14
  @strftime_format = "%Y-%m-%dT%H:%M:%S.%3N%z".freeze
15
- raise Fluent::ConfigError, "mapped_time_key can not be empty" if mapped_time_key == ""
15
+ raise Fluent::ConfigError, "mapped_time_key can not be empty" if mapped_time_key.to_s.empty?
16
16
  raise Fluent::ConfigError, "timestamp_fields must have 3 items" if timestamp_fields.length != 3
17
17
  end
18
18
 
@@ -26,18 +26,12 @@ module Fluent::Plugin
26
26
 
27
27
  def filter(tag, time, record)
28
28
 
29
- @timestamp_fields.map do |field|
30
- record[field]
31
- end.compact.each do |timestamp|
32
- begin
33
- record[@mapped_time_key] = record[timestamp_fields[0]] == "" ? record[timestamp_fields[1]] == "" ? record[timestamp_fields[2]] : record[timestamp_fields[1]] : record[timestamp_fields[0]]
34
- end
35
- end
29
+ record[@mapped_time_key] = (record[@timestamp_fields[0]].to_s.empty?) ? (record[@timestamp_fields[1]].to_s.empty?) ? record[@timestamp_fields[2]] : record[@timestamp_fields[1]] : record[@timestamp_fields[0]]
36
30
 
37
- unless record[@mapped_time_key] != ""
38
- record[@mapped_time_key] = Time.at(time.is_a?(Fluent::EventTime) ? time.to_int : time).strftime(@strftime_format)
39
- $log.debug("Timestamp added: #{record[@mapped_time_key]}")
40
- end
31
+ if record[@mapped_time_key].to_s.empty?
32
+ record[@mapped_time_key] = Time.at(time.is_a?(Fluent::EventTime) ? time.to_int : time).strftime(@strftime_format)
33
+ end
34
+ $log.debug("Timestamp added: #{@mapped_time_key}:#{record[@mapped_time_key]}")
41
35
 
42
36
  record
43
37
  end
@@ -25,18 +25,18 @@ class TestKubEventsTimestampFilter < Test::Unit::TestCase
25
25
  end
26
26
 
27
27
  def test_config_mapped_time_key()
28
- data={'event.eventTime' => '','event.lastTimestamp' => '', 'event.firstTimestamp' => ''}
28
+ data={'event.eventTime' => nil, 'event.lastTimestamp' => nil, 'event.firstTimestamp' => nil}
29
29
  d = create_driver('mapped_time_key "foobar"')
30
30
  d.run(default_tag: 'test') do
31
31
  d.feed({'test' => 'config_mapped_time_key'}.merge(data))
32
32
  end
33
33
  filtered = d.filtered.map {|e| e.last}.first
34
34
  puts "result => " + filtered.to_s
35
- assert_true(filtered['foobar'] != nil)
35
+ assert_false(filtered['foobar'].to_s.empty?)
36
36
  end
37
37
 
38
38
  def test_config_timestamp_fields()
39
- data={'event.eventTime' => 'also set','event.lastTimestamp' => '', 'event.firstTimestamp' => '', 'foo' => 'SET', 'bar' => '', 'baz' => ''}
39
+ data={'event.eventTime' => 'also set','event.lastTimestamp' => nil, 'event.firstTimestamp' => nil, 'foo' => 'SET', 'bar' => nil, 'baz' => nil}
40
40
  d = create_driver('timestamp_fields ["foo","bar","baz"]')
41
41
  d.run(default_tag: 'test') do
42
42
  d.feed({'test' => 'timestamp_fields'}.merge(data))
@@ -47,7 +47,7 @@ class TestKubEventsTimestampFilter < Test::Unit::TestCase
47
47
  end
48
48
 
49
49
  def test_notime()
50
- data={'event.eventTime' => '','event.lastTimestamp' => '', 'event.firstTimestamp' => ''}
50
+ data={'event.eventTime' => nil,'event.lastTimestamp' => nil, 'event.firstTimestamp' => nil}
51
51
  puts "testcase => " + data.to_s
52
52
  d = create_driver
53
53
  d.run(default_tag: 'test') do
@@ -55,18 +55,18 @@ class TestKubEventsTimestampFilter < Test::Unit::TestCase
55
55
  end
56
56
  filtered = d.filtered.map {|e| e.last}.first
57
57
  puts "result => " + filtered.to_s
58
- assert_true(filtered['triggerts'] != nil)
58
+ assert_false(filtered['triggerts'].to_s.empty?)
59
59
  end
60
60
 
61
61
  def test_expected_mappings()
62
62
  data=[
63
- {'expected' => 'event.eventTime', 'event.eventTime' => '2021-09-21T21:39:16.000+0200','event.lastTimestamp' => '', 'event.firstTimestamp' => ''},
64
- {'expected' => 'event.eventTime', 'event.eventTime' => '2021-09-21T21:39:16.000+0200','event.lastTimestamp' => 'notempty', 'event.firstTimestamp' => ''},
63
+ {'expected' => 'event.eventTime', 'event.eventTime' => '2021-09-21T21:39:16.000+0200','event.lastTimestamp' => nil, 'event.firstTimestamp' => nil},
64
+ {'expected' => 'event.eventTime', 'event.eventTime' => '2021-09-21T21:39:16.000+0200','event.lastTimestamp' => 'notempty', 'event.firstTimestamp' => nil},
65
65
  {'expected' => 'event.eventTime', 'event.eventTime' => '2021-09-21T21:39:16.000+0200','event.lastTimestamp' => 'notempty', 'event.firstTimestamp' => 'alsonotempty'},
66
- {'expected' => 'event.eventTime', 'event.eventTime' => '2021-09-21T21:39:16.000+0200','event.lastTimestamp' => '', 'event.firstTimestamp' => 'nonempty'},
67
- {'expected' => 'event.lastTimestamp', 'event.eventTime' => '','event.lastTimestamp' => 'exists', 'event.firstTimestamp' => ''},
68
- {'expected' => 'event.lastTimestamp', 'event.eventTime' => '','event.lastTimestamp' => 'exists', 'event.firstTimestamp' => 'alsoexists'},
69
- {'expected' => 'event.firstTimestamp', 'event.eventTime' => '','event.lastTimestamp' => '', 'event.firstTimestamp' => 'exists'}
66
+ {'expected' => 'event.eventTime', 'event.eventTime' => '2021-09-21T21:39:16.000+0200','event.lastTimestamp' => nil, 'event.firstTimestamp' => 'nonempty'},
67
+ {'expected' => 'event.lastTimestamp', 'event.eventTime' => nil,'event.lastTimestamp' => 'exists', 'event.firstTimestamp' => nil},
68
+ {'expected' => 'event.lastTimestamp', 'event.eventTime' => nil,'event.lastTimestamp' => 'exists', 'event.firstTimestamp' => 'alsoexists'},
69
+ {'expected' => 'event.firstTimestamp', 'event.eventTime' => nil,'event.lastTimestamp' => nil, 'event.firstTimestamp' => 'exists'}
70
70
  ]
71
71
  data.each do |testcase|
72
72
  puts "testcase => " + testcase.to_s
@@ -76,7 +76,7 @@ class TestKubEventsTimestampFilter < Test::Unit::TestCase
76
76
  end
77
77
  filtered = d.filtered.map {|e| e.last}.first
78
78
  puts "result => " + filtered.to_s
79
- assert_equal(filtered['triggerts'], filtered[filtered['expected']])
79
+ assert_equal(filtered[filtered['expected']], filtered['triggerts'])
80
80
  end
81
81
  end
82
82
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-kube-events-timestamp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Banzai Cloud