fluent-plugin-kube-events-timestamp 0.1.0 → 0.1.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
  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