moro 0.0.4 → 0.0.5

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