net-fping 0.2 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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