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 +14 -9
- data/mongodb-graphite.gemspec +1 -1
- metadata +27 -2
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.
|
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
|
-
|
72
|
-
|
73
|
-
@conn = Mongo::Connection.new(
|
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.
|
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,
|
90
|
+
treat_replicaset(g,to_ignore,to_convert, output_average, output_sum ,prefix_common,hostt,portt)
|
87
91
|
end
|
92
|
+
Process.wait
|
data/mongodb-graphite.gemspec
CHANGED
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
|
-
|
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.
|
111
|
+
rubygems_version: 1.8.15
|
87
112
|
signing_key:
|
88
113
|
specification_version: 3
|
89
114
|
summary: ""
|