ivelum-fluent-plugin-oomkiller 0.0.5 → 0.0.6

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
  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