ivelum-fluent-plugin-oomkiller 0.0.5 → 0.0.6

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: d5659b3d52a3baa5edfe09b94d4d642c9f6b2056
4
- data.tar.gz: d4bef41644df6e41be12d268e30a3cc443d371a1
3
+ metadata.gz: 02d5210629dacf910ddadd3a28a829d41b9ce0e1
4
+ data.tar.gz: a71a3a3b4796b689f669cd7fd0e4ec1473c8d87e
5
5
  SHA512:
6
- metadata.gz: dbbad9640f87f1f38cbad45329f4dbaa593708845b126f1a79fa94038f92fc650751fc41400e8b56e3e08f573cd21e3f42b55d33b286454b9997197795b449e0
7
- data.tar.gz: 7564ce195283af1f996e5d2e4c2de924c663405392a02dec911dad38077c561d52769b32b6d6c981041f4bfaa57b21ce433f7e318f09526d1bf05ca95e6056fc
6
+ metadata.gz: abcd15cca9e36cbb35cbe255e88e7cdde2b5fb4580bbf24d201e5f455ee2e6d31e2f2aa7fa782a22c40243ec8eec209e4faa0798a9df7f9de8262d8c2a2462bc
7
+ data.tar.gz: 0625b28d7e4a01241276969857fee39a88375b453fd2b5739e9182ec68be0cedc89c8ede3d117f2b175eddee24600afd34088ac60b4fb8f677c7ef36ae2a7af3
data/.gitignore CHANGED
@@ -11,3 +11,4 @@ tmtags
11
11
  *.swp
12
12
  .project
13
13
  .buildpath
14
+ .DS_Store
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "ivelum-fluent-plugin-oomkiller"
5
- spec.version = "0.0.5"
5
+ spec.version = "0.0.6"
6
6
  spec.authors = ["Megumi Nakamura", "Ilnur Ibragimov"]
7
7
  spec.email = ["ilnur.ibragimov@ivelum.com"]
8
8
 
@@ -18,7 +18,8 @@ Gem::Specification.new do |spec|
18
18
 
19
19
  spec.add_development_dependency "bundler", "~> 1.8"
20
20
  spec.add_development_dependency "rake", "~> 10.0"
21
+ spec.add_development_dependency "test-unit", "~> 1.2"
21
22
 
22
- spec.add_development_dependency "fluentd", "~> 0.12"
23
- spec.add_runtime_dependency "fluentd", "~> 0.12"
23
+ spec.add_development_dependency "fluentd", "~> 0.14"
24
+ spec.add_runtime_dependency "fluentd", "~> 0.14"
24
25
  end
@@ -48,31 +48,17 @@ class Fluent::OomKillerOutput < Fluent::Output
48
48
  end
49
49
 
50
50
  REGEX1 = /^(\S+\s+\d+\s\d+:\d+:\d+)\s.+/
51
- REGEX2 = /Killed process (\d+)\s+\((\S+)\)\s+total-vm:(\d+)kB,\s+anon-rss:(\d+)kB,\s+file-rss:(\d+)kB/
51
+ REGEX2 = /Killed process (\d+)[\W\w\s]+\((\S+)\)\s+total-vm:(\d+)kB,\s+anon-rss:(\d+)kB,\s+file-rss:(\d+)kB/
52
52
 
53
53
  def parse_record_block(syslog_record, tag, time)
54
- record = {}
55
-
56
- if syslog_record.has_key?('time') and syslog_record['time'] then
57
- time = syslog_record['time']
58
- else
59
- @logs[:"#{tag}"][0] =~ REGEX1
60
- if $1 then
61
- datetime = Time.parse($1)
62
- time = datetime.to_i if datetime
63
- end
64
- end
54
+ record = syslog_record.clone
65
55
 
66
56
  @logs[:"#{tag}"][-1] =~ REGEX2
67
- record['time'] = time
68
- record['host'] = syslog_record['host']
69
- record['ident'] = syslog_record['ident']
70
57
  record['pid'] = $1.to_i
71
58
  record['name'] = $2
72
59
  record['total_vm_kb'] = $3.to_i
73
60
  record['anon_rss_kb'] = $4.to_i
74
61
  record['file_rss_kb'] = $5.to_i
75
-
76
62
  record['raw'] = @logs[:"#{tag}"].map {|m| m.strip}.join("\n")
77
63
 
78
64
  flush_emit(tag, time, record)
@@ -83,7 +69,6 @@ class Fluent::OomKillerOutput < Fluent::Output
83
69
 
84
70
  if !@remove_tag_prefix && !@remove_tag_suffix && !@add_tag_prefix && !@add_tag_suffix
85
71
  router.emit(tag, time, record)
86
-
87
72
  else
88
73
  _tag = tag.clone
89
74
  filter_record(_tag, time, record)
@@ -14,18 +14,19 @@ class OomKillerOutputTest < Test::Unit::TestCase
14
14
  def create_driver(conf=%[], tag='test')
15
15
  Fluent::Test::OutputTestDriver.new(Fluent::OomKillerOutput, tag).configure(conf)
16
16
  end
17
-
17
+
18
18
  def test_configure_nil
19
19
  d = create_driver(CONFIG1, 'myapp.test1')
20
20
  assert_equal nil, d.instance.add_tag_prefix
21
21
  end
22
-
22
+
23
23
  def test_configure_set_config
24
24
  d = create_driver(CONFIG2, 'myapp.test2')
25
25
  assert_equal 'oomkiller.', d.instance.add_tag_prefix
26
26
  end
27
27
 
28
28
  def test_emit_nil
29
+ current_year = Time.now.year
29
30
  d = create_driver(CONFIG1, 'myapp.test3')
30
31
  d.run do
31
32
  IO.foreach(File.join(File.dirname(__FILE__), "..", "testdata", "message1")) do |s|
@@ -44,22 +45,22 @@ class OomKillerOutputTest < Test::Unit::TestCase
44
45
  assert_equal 2, d.emits.size
45
46
 
46
47
  assert_equal 'myapp.test3', d.emits[0][0]
47
- assert_equal 1423450527, d.emits[0][1]
48
+ d.emits[0][2].delete("time")
49
+ d.emits[0][2].delete("message")
48
50
  assert_equal({
49
51
  "pid" => 13550,
50
- "uid" => 500,
51
52
  "name" => "java",
52
53
  "total_vm_kb" => 12466024,
53
54
  "anon_rss_kb" => 7625016,
54
55
  "file_rss_kb" => 2608,
55
56
  "raw" => File.read(File.join(File.dirname(__FILE__), "..", "testdata", "message2"))
56
57
  }, d.emits[0][2])
57
-
58
+
58
59
  assert_equal 'myapp.test3', d.emits[1][0]
59
- assert_equal 1423672620, d.emits[1][1]
60
+ d.emits[1][2].delete("time")
61
+ d.emits[1][2].delete("message")
60
62
  assert_equal({
61
63
  "pid" => 18938,
62
- "uid" => 500,
63
64
  "name" => "java",
64
65
  "total_vm_kb" => 12482944,
65
66
  "anon_rss_kb" => 7678888,
@@ -69,6 +70,7 @@ class OomKillerOutputTest < Test::Unit::TestCase
69
70
  end
70
71
 
71
72
  def test_emit_set_config
73
+ current_year = Time.now.year
72
74
  d = create_driver(CONFIG2, 'myapp.test4')
73
75
  d.run do
74
76
  IO.foreach(File.join(File.dirname(__FILE__), "..", "testdata", "message1")) do |s|
@@ -85,24 +87,24 @@ class OomKillerOutputTest < Test::Unit::TestCase
85
87
  end
86
88
  end
87
89
  assert_equal 2, d.emits.size
88
-
90
+
89
91
  assert_equal 'oomkiller.myapp.test4', d.emits[0][0]
90
- assert_equal 1423450527, d.emits[0][1]
92
+ d.emits[0][2].delete("time")
93
+ d.emits[0][2].delete("message")
91
94
  assert_equal({
92
95
  "pid" => 13550,
93
- "uid" => 500,
94
96
  "name" => "java",
95
97
  "total_vm_kb" => 12466024,
96
98
  "anon_rss_kb" => 7625016,
97
99
  "file_rss_kb" => 2608,
98
100
  "raw" => File.read(File.join(File.dirname(__FILE__), "..", "testdata", "message2"))
99
101
  }, d.emits[0][2])
100
-
102
+
101
103
  assert_equal 'oomkiller.myapp.test4', d.emits[1][0]
102
- assert_equal 1423672620, d.emits[1][1]
104
+ d.emits[1][2].delete("time")
105
+ d.emits[1][2].delete("message")
103
106
  assert_equal({
104
107
  "pid" => 18938,
105
- "uid" => 500,
106
108
  "name" => "java",
107
109
  "total_vm_kb" => 12482944,
108
110
  "anon_rss_kb" => 7678888,
@@ -110,5 +112,5 @@ class OomKillerOutputTest < Test::Unit::TestCase
110
112
  "raw" => File.read(File.join(File.dirname(__FILE__), "..", "testdata", "message4"))
111
113
  }, d.emits[1][2])
112
114
  end
113
-
115
+
114
116
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ivelum-fluent-plugin-oomkiller
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Megumi Nakamura
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-11-17 00:00:00.000000000 Z
12
+ date: 2017-12-28 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -39,34 +39,48 @@ dependencies:
39
39
  - - "~>"
40
40
  - !ruby/object:Gem::Version
41
41
  version: '10.0'
42
+ - !ruby/object:Gem::Dependency
43
+ name: test-unit
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - "~>"
47
+ - !ruby/object:Gem::Version
48
+ version: '1.2'
49
+ type: :development
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - "~>"
54
+ - !ruby/object:Gem::Version
55
+ version: '1.2'
42
56
  - !ruby/object:Gem::Dependency
43
57
  name: fluentd
44
58
  requirement: !ruby/object:Gem::Requirement
45
59
  requirements:
46
60
  - - "~>"
47
61
  - !ruby/object:Gem::Version
48
- version: '0.12'
62
+ version: '0.14'
49
63
  type: :development
50
64
  prerelease: false
51
65
  version_requirements: !ruby/object:Gem::Requirement
52
66
  requirements:
53
67
  - - "~>"
54
68
  - !ruby/object:Gem::Version
55
- version: '0.12'
69
+ version: '0.14'
56
70
  - !ruby/object:Gem::Dependency
57
71
  name: fluentd
58
72
  requirement: !ruby/object:Gem::Requirement
59
73
  requirements:
60
74
  - - "~>"
61
75
  - !ruby/object:Gem::Version
62
- version: '0.12'
76
+ version: '0.14'
63
77
  type: :runtime
64
78
  prerelease: false
65
79
  version_requirements: !ruby/object:Gem::Requirement
66
80
  requirements:
67
81
  - - "~>"
68
82
  - !ruby/object:Gem::Version
69
- version: '0.12'
83
+ version: '0.14'
70
84
  description: Fluentd plugin to get oom killer log from system message.
71
85
  email:
72
86
  - ilnur.ibragimov@ivelum.com