net-fping 0.2 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +6 -14
  2. data/lib/net/fping.rb +20 -0
  3. data/net-fping.gemspec +1 -1
  4. metadata +5 -5
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- YzdmNjRkOGRkYTY3NWY1ZGM1MzJmMGRmZjkyYTYxMWYwMWRlMTkzZA==
5
- data.tar.gz: !binary |-
6
- YzgyMTQ5MjM1NWExZjNmYWY5NWY3ZjAxOTZmYjViZTYwYjMyODBlYg==
7
- !binary "U0hBNTEy":
8
- metadata.gz: !binary |-
9
- MjM0ODc5M2RlNjQ3M2RjOTY4YjY5MTRlMjUzMDQxZGU5MGRjNDgyMGI3Yjhm
10
- Y2JmZjhkZTI4NjMyZTY0MzQ4OTVlNmNlOWQ5NDc5ODc2Y2ZlNmY5ZmMwNTU5
11
- ZTAwY2UxZTQ2MDFjOTkyZjg4YzRiMTNkZjdlNzQ2YTQ4ZTEyYTQ=
12
- data.tar.gz: !binary |-
13
- MDYyMDgxOTQ1NTU0YjM2ZDI1ZGQyZGJjYjUxMTkwNDFmZDhmYTNiNzQ1NTkw
14
- MWZmN2MwMDYwNWMxNWQwNjE2Nzg4MDFhOGQzYzAwMGU4ZWJjNWI2MmJlZTcy
15
- YmQ0YTk4NDM0ZGMxMTZjYTlhN2IwODQxOTQzMTc5Nzc2M2ZmYmU=
2
+ SHA1:
3
+ metadata.gz: ff8f5ae54f34481b98c2b3744124da8e57d6d0be
4
+ data.tar.gz: adb7a3ad0bcc3bf33569d5f5aef3959f3f756a45
5
+ SHA512:
6
+ metadata.gz: aafb98dc4b5f6342e50427fb88e96c0bac6b68634706115ee72eae0ae7680e23759a2c812e49650fe6b65de3e0addab1080343ae26e9c865ec3f1a65daac36a6
7
+ data.tar.gz: 4eb76c23a432ec58cb3a74aa03e05b5904b34984925147681c7d398aa63b126ce7dd6d332365e2c7305e62c26d1ca8248382d4797a5313d3944d8e0f608b4bb4
data/lib/net/fping.rb CHANGED
@@ -1,3 +1,5 @@
1
+ require 'open3'
2
+
1
3
  module Net
2
4
  module Fping
3
5
  class << self
@@ -19,6 +21,24 @@ module Net
19
21
  def alive_in_range(from, to)
20
22
  %x[fping -ag #{from} #{to} 2>/dev/null].split("\n")
21
23
  end
24
+
25
+ # Added defs for latency based metrics
26
+ def latency_simple(host)
27
+ bytes = 68
28
+ count = 6
29
+ interval = 1000
30
+ %x[fping -b #{bytes} -c #{count} -q -p #{interval} #{host}]
31
+ end
32
+
33
+ def latency(host, bytes, count, interval)
34
+ cmd = "fping -b #{bytes} -c #{count} -q -p #{interval} #{host}"
35
+ Open3.popen3(cmd) do |stdin, stdout, stderr, wait_thr|
36
+ # output is written to stderr for some reason
37
+ ltc = stderr.read.gsub(/[%, ]/, "/")
38
+ ltc = ltc.split(/.*loss\/=\/[0-9]+\/[0-9]+\/([0-9]+)\/\/\/min\/avg\/max\/=\/([0-9.]+)\/([0-9.]+)\/([0-9.]+)/)[-5..4]
39
+ return ltc
40
+ end
41
+ end
22
42
 
23
43
  end
24
44
  end
data/net-fping.gemspec CHANGED
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "net-fping"
7
- spec.version = "0.2"
7
+ spec.version = "0.2.1"
8
8
  spec.authors = ["Robert McLeod"]
9
9
  spec.email = ["robert@penguinpower.co.nz"]
10
10
  spec.description = %q{Net-fping is an fping wrapper that allows fast ping checks on multiple remote hosts}
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: net-fping
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.2'
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert McLeod
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-12-02 00:00:00.000000000 Z
11
+ date: 2015-01-13 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Net-fping is an fping wrapper that allows fast ping checks on multiple
14
14
  remote hosts
@@ -31,17 +31,17 @@ require_paths:
31
31
  - lib
32
32
  required_ruby_version: !ruby/object:Gem::Requirement
33
33
  requirements:
34
- - - ! '>='
34
+ - - ">="
35
35
  - !ruby/object:Gem::Version
36
36
  version: '0'
37
37
  required_rubygems_version: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - ! '>='
39
+ - - ">="
40
40
  - !ruby/object:Gem::Version
41
41
  version: '0'
42
42
  requirements: []
43
43
  rubyforge_project:
44
- rubygems_version: 2.0.5
44
+ rubygems_version: 2.2.2
45
45
  signing_key:
46
46
  specification_version: 4
47
47
  summary: fast ping checks using fping