moro 0.0.4 → 0.0.5

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: 3951baeecdc843827e0231cd73d7547d486e96f9
4
- data.tar.gz: 14ce88625c4ab1f282a42f9042096ef620fadb9a
3
+ metadata.gz: a18ed7dd1e3410e06c6944fd5897b9f9aedf9635
4
+ data.tar.gz: 706fa3a02fb15142104d55c876ad7c67ecd559f7
5
5
  SHA512:
6
- metadata.gz: 7a0a2bfa9bf9a3247c3934d648c13cab4450c2313b676ac3bf77fb8b3cb7d3ad9ce8f14600419c9d7bfaed63ab76ded70db2d1e37b573bc9bf08ef6227acbfd4
7
- data.tar.gz: 0cf6e2decd06a29e75d3f42b6a2355b0559cc25dd98f97813f498d6917a51ed7c013249107c84867c3d6f64ebd44d60218d243666fa83bf682aeeac12b4d362b
6
+ metadata.gz: bf46b10c76dcfaf6c999f2293e8232b3d62a00cfdefd043ab4450836b4da46dd07c4e87be73a878bb783aa7bf02b8aa8b801ae12294b9daf939db1b9ba427f82
7
+ data.tar.gz: 0083590adda03bd208cd7a09b36205fd154dc22c200059692d40b65203c58113fa3a2d9f7db7857a6c8171842e1e53dc5c909259fb9a97488326254fd55ccf8c
data/CHANGELOG.md CHANGED
@@ -1,5 +1,8 @@
1
+ ##0.0.5
2
+ * send memory data to datadog
3
+
1
4
  ##0.0.4
2
- use STDOUT for log
5
+ * use STDOUT for log
3
6
 
4
7
  ##0.0.3
5
8
  * [pr2 handle pid change](https://github.com/sudo-recruit/moro/pull/2)
data/Gemfile.lock CHANGED
@@ -1,13 +1,15 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- moro (0.0.2)
4
+ moro (0.0.4)
5
+ dogstatsd-ruby (~> 1.6.0)
5
6
  get_process_mem (~> 0.2.0)
6
7
  thor (~> 0.18)
7
8
 
8
9
  GEM
9
10
  remote: https://rubygems.org/
10
11
  specs:
12
+ dogstatsd-ruby (1.6.0)
11
13
  get_process_mem (0.2.0)
12
14
  thor (0.19.1)
13
15
 
data/lib/moro/daemon.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require 'moro/monitor'
2
+ require 'moro/datadog'
2
3
 
3
4
  module Moro
4
5
  class Daemon
@@ -6,8 +7,9 @@ module Moro
6
7
  def initialize(config)
7
8
  @monitor=Monitor.new(config)
8
9
  @logger = Logger.new STDOUT
10
+ @dog=Datadog.new
9
11
  puts config
10
-
12
+
11
13
  if config["interval"]!=nil
12
14
  @interval=config["interval"]
13
15
  else
@@ -27,7 +29,12 @@ module Moro
27
29
  end
28
30
 
29
31
  while true
30
- @monitor.show
32
+ data=@monitor.monit
33
+
34
+ data.each do|d|
35
+ @dog.send(d)
36
+ end
37
+
31
38
  @logger.info "stats memory"
32
39
 
33
40
  sleep(@interval)
@@ -0,0 +1,16 @@
1
+ require 'statsd'
2
+
3
+ module Moro
4
+ class Datadog
5
+
6
+ def initialize
7
+ @statsd = Statsd.new('localhost', 8125)
8
+ end
9
+
10
+ def send(data)
11
+ name=data[:name]
12
+ @statsd.histogram("#{name}.memory", data[:memory])
13
+ end
14
+
15
+ end
16
+ end
data/lib/moro/monitor.rb CHANGED
@@ -19,8 +19,6 @@ module Moro
19
19
  end
20
20
  end
21
21
 
22
- private
23
-
24
22
  def monit
25
23
  data=[]
26
24
  @processes.each do |p|
@@ -29,6 +27,8 @@ module Moro
29
27
  data
30
28
  end
31
29
 
30
+ private
31
+
32
32
  def get_processes()
33
33
  processes=[]
34
34
  @config["processes"].each do|p|
data/lib/moro/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Moro
2
- VERSION = '0.0.1'
2
+ VERSION = '0.0.5'
3
3
  end
data/moro.gemspec CHANGED
@@ -1,6 +1,10 @@
1
+ lib_dir = File.join(File.dirname(__FILE__),'lib')
2
+ $LOAD_PATH << lib_dir unless $LOAD_PATH.include?(lib_dir)
3
+ require 'moro/version'
4
+
1
5
  Gem::Specification.new do |s|
2
6
  s.name = 'moro'
3
- s.version = '0.0.4'
7
+ s.version = Moro::VERSION
4
8
  s.date = '2016-02-24'
5
9
  s.summary = "moro is a simple daemon to monitor process memory usage"
6
10
  s.description = "moro is a simple daemon to monitor process memory usage"
@@ -9,9 +13,10 @@ Gem::Specification.new do |s|
9
13
  s.executables = ["moro"]
10
14
  s.files = `git ls-files`.split($/)
11
15
  s.homepage =
12
- 'https://github.com/sudo-recruit/moro'
16
+ 'https://github.com/sudo-recruit/moro'
13
17
  s.license = 'MIT'
14
18
 
15
19
  s.add_dependency('get_process_mem',["~> 0.2.0"])
16
20
  s.add_dependency('thor',["~> 0.18"])
21
+ s.add_dependency('dogstatsd-ruby',["~> 1.6.0"])
17
22
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: moro
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - ocowchun
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0.18'
41
+ - !ruby/object:Gem::Dependency
42
+ name: dogstatsd-ruby
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 1.6.0
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 1.6.0
41
55
  description: moro is a simple daemon to monitor process memory usage
42
56
  email: ben.yeh@sudo.com.tw
43
57
  executables:
@@ -54,6 +68,7 @@ files:
54
68
  - config.example.json
55
69
  - lib/moro/cli.rb
56
70
  - lib/moro/daemon.rb
71
+ - lib/moro/datadog.rb
57
72
  - lib/moro/monitor.rb
58
73
  - lib/moro/process.rb
59
74
  - lib/moro/version.rb