mongodb-graphite 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
data/bin/mongodb-graphite CHANGED
@@ -46,7 +46,8 @@ def treat_replicaset(g,to_ignore,to_convert, output_average, output_sum ,prefix_
46
46
  connHost = Mongo::Connection.new(host, port)
47
47
  slaves = Array.new
48
48
  connHost["admin"].command({ "isMaster" => 1 } )["hosts"].each { |slave| slaves << slave}
49
- slaves.peach { |slave|
49
+ slaves.each { |slave|
50
+ Process.fork do
50
51
  host, port = slave.split(':')
51
52
  timestamp = Time.now.getutc.to_i
52
53
  result= `mongostat -n 60 --host #{host} --port #{port} `.split("\n")
@@ -56,7 +57,7 @@ def treat_replicaset(g,to_ignore,to_convert, output_average, output_sum ,prefix_
56
57
  headers = headers.gsub(' %','').gsub('*','').gsub('idx miss','idxmiss').split
57
58
  values= values.delete_if {|line| line.start_with?('insert')}.map { |line| line.gsub('*','').split}
58
59
  values = values.transpose
59
-
60
+
60
61
  prefix = prefix_common + host +"."+port+"."
61
62
  headers = headers.map { |key| prefix+key }
62
63
  metrics = Hash[headers.zip(values)]
@@ -65,23 +66,27 @@ def treat_replicaset(g,to_ignore,to_convert, output_average, output_sum ,prefix_
65
66
  output_average.each { |key| metrics[prefix+key] = metrics[prefix+key].inject(0.0) {|sum,el| sum+(el.to_i) } / metrics[prefix+key].size }
66
67
  output_sum.each { |key| metrics[prefix+key] = metrics[prefix+key].inject(0) {|sum,el| sum+(el.to_i)} }
67
68
  g.log(timestamp, metrics)
69
+ end
68
70
  }
69
71
  end
70
72
 
71
- host='localhost'
72
- port=27017
73
- @conn = Mongo::Connection.new(host,port)
73
+ hostt='localhost'
74
+ portt=27017
75
+ @conn = Mongo::Connection.new(hostt,portt)
74
76
  @isdbgrid = {"isdbgrid" => 1}
75
- begin
77
+ begin
76
78
  @conn["admin"].command(@isdbgrid)["ok"] == 1
77
79
  puts "mongos"
78
80
  shards = Array.new
79
81
  puts @conn["config"]["shards"].find().each { |shard| shards << shard["host"] }
80
- shards.peach { |s|
82
+ shards.each { |s|
83
+ Process.fork do
81
84
  host,port = s.split(/,|\//)[1].split(':')
82
85
  treat_replicaset(g,to_ignore,to_convert, output_average, output_sum ,prefix_common,host,port)
86
+ end
83
87
  }
84
- rescue
88
+ rescue
85
89
  puts "not mongos"
86
- treat_replicaset(g,to_ignore,to_convert, output_average, output_sum ,prefix_common,host,port)
90
+ treat_replicaset(g,to_ignore,to_convert, output_average, output_sum ,prefix_common,hostt,portt)
87
91
  end
92
+ Process.wait
@@ -3,7 +3,7 @@ $:.push File.expand_path("../lib", __FILE__)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "mongodb-graphite"
6
- s.version = '0.1.3'
6
+ s.version = '0.1.4'
7
7
  s.platform = Gem::Platform::RUBY
8
8
  s.authors = ["Grégoire Seux"]
9
9
  s.email = ["g.seux@criteo.com"]
metadata CHANGED
@@ -1,8 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongodb-graphite
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 19
4
5
  prerelease:
5
- version: 0.1.3
6
+ segments:
7
+ - 0
8
+ - 1
9
+ - 4
10
+ version: 0.1.4
6
11
  platform: ruby
7
12
  authors:
8
13
  - "Gr\xC3\xA9goire Seux"
@@ -20,6 +25,11 @@ dependencies:
20
25
  requirements:
21
26
  - - ">="
22
27
  - !ruby/object:Gem::Version
28
+ hash: 7
29
+ segments:
30
+ - 1
31
+ - 5
32
+ - 2
23
33
  version: 1.5.2
24
34
  type: :runtime
25
35
  version_requirements: *id001
@@ -31,6 +41,11 @@ dependencies:
31
41
  requirements:
32
42
  - - ">="
33
43
  - !ruby/object:Gem::Version
44
+ hash: 23
45
+ segments:
46
+ - 0
47
+ - 2
48
+ - 0
34
49
  version: 0.2.0
35
50
  type: :runtime
36
51
  version_requirements: *id002
@@ -42,6 +57,10 @@ dependencies:
42
57
  requirements:
43
58
  - - ">="
44
59
  - !ruby/object:Gem::Version
60
+ hash: 3
61
+ segments:
62
+ - 0
63
+ - 4
45
64
  version: "0.4"
46
65
  type: :runtime
47
66
  version_requirements: *id003
@@ -73,17 +92,23 @@ required_ruby_version: !ruby/object:Gem::Requirement
73
92
  requirements:
74
93
  - - ">="
75
94
  - !ruby/object:Gem::Version
95
+ hash: 3
96
+ segments:
97
+ - 0
76
98
  version: "0"
77
99
  required_rubygems_version: !ruby/object:Gem::Requirement
78
100
  none: false
79
101
  requirements:
80
102
  - - ">="
81
103
  - !ruby/object:Gem::Version
104
+ hash: 3
105
+ segments:
106
+ - 0
82
107
  version: "0"
83
108
  requirements: []
84
109
 
85
110
  rubyforge_project:
86
- rubygems_version: 1.8.11
111
+ rubygems_version: 1.8.15
87
112
  signing_key:
88
113
  specification_version: 3
89
114
  summary: ""