heartbeat-client 0.3.0 → 0.3.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. data/VERSION +1 -1
  2. data/bin/hbc +14 -2
  3. data/lib/heartbeat-client.rb +18 -7
  4. metadata +4 -4
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.0
1
+ 0.3.1
data/bin/hbc CHANGED
@@ -17,10 +17,22 @@ unless @config['apikey']
17
17
  exit
18
18
  end
19
19
 
20
+ unless @config['endpoint']
21
+ puts "Service Endpoint not found!"
22
+ exit
23
+ end
24
+
20
25
  if ARGV and ARGV.size == 1
21
- Daemons.run_proc('heartbeat-client.rb') do
26
+ Daemons.run_proc('heartbeat-client.rb', :dir => File.join('/tmp'), :monitor => true,
27
+ :backtrace => true, :monitor => true) do
28
+ Heartbeat.log = Logger.new('/tmp/heartbeat.log')
22
29
  loop do
23
- Heartbeat.create(@config['apikey'], @config['endpoint'], @config['name'])
30
+ begin
31
+ Heartbeat.create(@config['apikey'], @config['endpoint'], @config['name'])
32
+ rescue => e
33
+ puts e.message
34
+ end
35
+ GC.start
24
36
  sleep(30)
25
37
  end
26
38
  end
@@ -14,11 +14,17 @@ class Heartbeat
14
14
  RUBY_PLATFORM.downcase.include?("linux")
15
15
  end
16
16
 
17
+ def self.log=(logger)
18
+ @@log = logger
19
+ end
20
+
17
21
  def self.log
18
- Logger.new('/tmp/heartbeat.log')
22
+ @@log
19
23
  end
20
-
24
+
21
25
  def self.create(apikey, endpoint, name = nil)
26
+ log.info("#create - Collecting data...")
27
+
22
28
  procs = {'total' => 0, 'running' => 0, 'stuck' => 0, 'sleeping' => 0, 'threads' => 0, 'stopped' => 0, 'zombie' => 0}
23
29
  load_avg = []
24
30
  cpu_usage = {'user' => 0, 'sys' => 0, 'idle' => 0}
@@ -26,13 +32,15 @@ class Heartbeat
26
32
  memory = {'free' => 0, 'used' => 0}
27
33
  disks = {}
28
34
  swap = {'free' => 0, 'used' => 0}
29
-
35
+
36
+ log.debug("Dumping top output...")
30
37
  if is_linux?
31
38
  `top -b -n1 > /tmp/top.out`
32
39
  else
33
40
  `top -l 1 > /tmp/top.out`
34
41
  end
35
-
42
+
43
+ log.debug("Dumping df output...")
36
44
  `df -m > /tmp/dfm.out`
37
45
 
38
46
  if File.exists?('/tmp/top.out')
@@ -87,10 +95,13 @@ class Heartbeat
87
95
  }
88
96
  }
89
97
  }
90
-
91
- Heartbeat.post(endpoint + '/heartbeat', options)
98
+
99
+ log.info("#create - Sending data to endpoint...")
100
+ res = Heartbeat.post(endpoint + '/heartbeat', options)
101
+ log.debug("Response: #{res.response.inspect}") if res
102
+ log.info("Finished iteration.")
92
103
  else
93
- put "No top output found."
104
+ log.error "No top output found."
94
105
  end
95
106
  end
96
107
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: heartbeat-client
3
3
  version: !ruby/object:Gem::Version
4
- hash: 19
4
+ hash: 17
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 3
9
- - 0
10
- version: 0.3.0
9
+ - 1
10
+ version: 0.3.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Oliver Kiessler
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-01-11 00:00:00 Z
18
+ date: 2012-01-13 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  version_requirements: &id001 !ruby/object:Gem::Requirement