check_graphite 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -14,6 +14,8 @@ module CheckGraphite
14
14
  on "--name NAME", "-N NAME", :default => :value
15
15
  on "--username USERNAME", "-U USERNAME"
16
16
  on "--password PASSWORD", "-P PASSWORD"
17
+ on "--dropfirst N", "-A N", Integer, :default => 0
18
+ on "--droplast N", "-Z N", Integer, :default => 0
17
19
 
18
20
  enable_warning
19
21
  enable_critical
@@ -28,13 +30,16 @@ module CheckGraphite
28
30
  req.basic_auth options.username, options.password
29
31
  end
30
32
 
31
- res = Net::HTTP.start(uri.hostname, uri.port) { |http|
33
+ res = Net::HTTP.start(uri.host, uri.port) { |http|
32
34
  http.request(req)
33
35
  }
34
36
 
35
37
  res.code == "200" || raise("HTTP error code #{res.code}")
36
38
 
37
- res = JSON(res.body).first["datapoints"].reduce({:sum => 0.0, :count => 0}) {|acc, e|
39
+ datapoints = JSON(res.body).first["datapoints"]
40
+ res = datapoints.drop(options.dropfirst)
41
+ .take(datapoints.length - options.dropfirst - options.droplast)
42
+ .reduce({:sum => 0.0, :count => 0}) {|acc, e|
38
43
  if e[0]
39
44
  {:sum => acc[:sum] + e[0], :count => acc[:count] + 1}
40
45
  else
@@ -1,3 +1,3 @@
1
1
  module CheckGraphite
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: check_graphite
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-06-22 00:00:00.000000000Z
12
+ date: 2012-06-26 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nagios_check
16
- requirement: &21306100 !ruby/object:Gem::Requirement
16
+ requirement: &7105540 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *21306100
24
+ version_requirements: *7105540
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rspec
27
- requirement: &21305220 !ruby/object:Gem::Requirement
27
+ requirement: &7104740 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *21305220
35
+ version_requirements: *7104740
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: fakeweb
38
- requirement: &21304580 !ruby/object:Gem::Requirement
38
+ requirement: &7103640 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *21304580
46
+ version_requirements: *7103640
47
47
  description: check values from a graphite server
48
48
  email:
49
49
  - pyr@spootnik.org