monitoring-client 0.2.6 → 0.2.7
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.
- data/Gemfile.lock +3 -3
- data/bin/monitoringd +11 -3
- data/lib/monitoring/client/profiler.rb +6 -2
- data/lib/monitoring/client/version.rb +1 -1
- data/monitoring-client.gemspec +1 -1
- metadata +65 -40
data/Gemfile.lock
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
monitoring-client (0.2.
|
5
|
-
|
4
|
+
monitoring-client (0.2.6)
|
5
|
+
yajl-ruby
|
6
6
|
|
7
7
|
GEM
|
8
8
|
remote: http://rubygems.org/
|
9
9
|
specs:
|
10
10
|
diff-lcs (1.1.3)
|
11
|
-
json (1.5.3)
|
12
11
|
rspec (2.6.0)
|
13
12
|
rspec-core (~> 2.6.0)
|
14
13
|
rspec-expectations (~> 2.6.0)
|
@@ -17,6 +16,7 @@ GEM
|
|
17
16
|
rspec-expectations (2.6.0)
|
18
17
|
diff-lcs (~> 1.1.2)
|
19
18
|
rspec-mocks (2.6.0)
|
19
|
+
yajl-ruby (0.8.3)
|
20
20
|
|
21
21
|
PLATFORMS
|
22
22
|
ruby
|
data/bin/monitoringd
CHANGED
@@ -6,7 +6,7 @@ module Monitoring
|
|
6
6
|
require "optparse"
|
7
7
|
require "thread"
|
8
8
|
require "socket"
|
9
|
-
require "
|
9
|
+
require "yajl"
|
10
10
|
require "net/https"
|
11
11
|
require "uri"
|
12
12
|
require "timeout"
|
@@ -151,7 +151,7 @@ module Monitoring
|
|
151
151
|
while @alive
|
152
152
|
begin
|
153
153
|
line = socket.gets()
|
154
|
-
|
154
|
+
json_parse(line).each do |sample|
|
155
155
|
@samples.push(sample)
|
156
156
|
end
|
157
157
|
rescue StandardError => e
|
@@ -163,7 +163,7 @@ module Monitoring
|
|
163
163
|
end
|
164
164
|
|
165
165
|
def post_samples(uri, samples)
|
166
|
-
generic_http_post(uri, "/api/samples", nil, nil, 3, { "samples" => samples
|
166
|
+
generic_http_post(uri, "/api/samples", nil, nil, 3, { "samples" => json_encode(samples) })
|
167
167
|
rescue Timeout::Error => e
|
168
168
|
STDOUT.puts("Could not post sample (will requeue): " + samples.inspect()) rescue nil
|
169
169
|
STDERR.puts([[e.class.name, e.message].join(": "),
|
@@ -193,6 +193,14 @@ module Monitoring
|
|
193
193
|
resp.body
|
194
194
|
end
|
195
195
|
end
|
196
|
+
|
197
|
+
def json_parse(what)
|
198
|
+
Yajl::Parser.parse(what)
|
199
|
+
end
|
200
|
+
|
201
|
+
def json_encode(what)
|
202
|
+
Yajl::Encoder.encode(what)
|
203
|
+
end
|
196
204
|
|
197
205
|
end
|
198
206
|
end
|
@@ -2,7 +2,7 @@ module Monitoring
|
|
2
2
|
module Client
|
3
3
|
class Profiler
|
4
4
|
|
5
|
-
require "
|
5
|
+
require "yajl"
|
6
6
|
require "socket"
|
7
7
|
require "monitoring/client/config"
|
8
8
|
require "monitoring/client/compiler"
|
@@ -30,10 +30,14 @@ module Monitoring
|
|
30
30
|
end
|
31
31
|
|
32
32
|
def post_metrics(compiled)
|
33
|
-
UDPSocket.new().send(compiled
|
33
|
+
UDPSocket.new().send(json_encode(compiled) + "\n",
|
34
34
|
0, "localhost", 57475)
|
35
35
|
end
|
36
36
|
|
37
|
+
def json_encode(what)
|
38
|
+
Yajl::Encoder.encode(what)
|
39
|
+
end
|
40
|
+
|
37
41
|
def default_decorations
|
38
42
|
{
|
39
43
|
:hostname => config.hostname,
|
data/monitoring-client.gemspec
CHANGED
@@ -19,6 +19,6 @@ Gem::Specification.new do |s|
|
|
19
19
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
20
20
|
s.require_paths = ["lib"]
|
21
21
|
|
22
|
-
s.add_runtime_dependency "
|
22
|
+
s.add_runtime_dependency "yajl-ruby"
|
23
23
|
s.add_development_dependency "rspec"
|
24
24
|
end
|
metadata
CHANGED
@@ -1,48 +1,62 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: monitoring-client
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 25
|
5
5
|
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 2
|
9
|
+
- 7
|
10
|
+
version: 0.2.7
|
6
11
|
platform: ruby
|
7
|
-
authors:
|
12
|
+
authors:
|
8
13
|
- Marc Bowes
|
9
14
|
autorequire:
|
10
15
|
bindir: bin
|
11
16
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
+
|
18
|
+
date: 2011-09-24 00:00:00 +02:00
|
19
|
+
default_executable:
|
20
|
+
dependencies:
|
21
|
+
- !ruby/object:Gem::Dependency
|
22
|
+
name: yajl-ruby
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
17
25
|
none: false
|
18
|
-
requirements:
|
19
|
-
- -
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
|
26
|
+
requirements:
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
hash: 3
|
30
|
+
segments:
|
31
|
+
- 0
|
32
|
+
version: "0"
|
22
33
|
type: :runtime
|
23
|
-
|
24
|
-
|
25
|
-
- !ruby/object:Gem::Dependency
|
34
|
+
version_requirements: *id001
|
35
|
+
- !ruby/object:Gem::Dependency
|
26
36
|
name: rspec
|
27
|
-
|
37
|
+
prerelease: false
|
38
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
28
39
|
none: false
|
29
|
-
requirements:
|
30
|
-
- -
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
|
40
|
+
requirements:
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
hash: 3
|
44
|
+
segments:
|
45
|
+
- 0
|
46
|
+
version: "0"
|
33
47
|
type: :development
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
POST to communicate with a Web server
|
38
|
-
email:
|
48
|
+
version_requirements: *id002
|
49
|
+
description: Ruby client which uses UDP to communicate with a daemon which uses HTTP POST to communicate with a Web server
|
50
|
+
email:
|
39
51
|
- marcbowes+monitoring+client@gmail.com
|
40
|
-
executables:
|
52
|
+
executables:
|
41
53
|
- monitor-system-info
|
42
54
|
- monitoringd
|
43
55
|
extensions: []
|
56
|
+
|
44
57
|
extra_rdoc_files: []
|
45
|
-
|
58
|
+
|
59
|
+
files:
|
46
60
|
- .gitignore
|
47
61
|
- Gemfile
|
48
62
|
- Gemfile.lock
|
@@ -61,28 +75,39 @@ files:
|
|
61
75
|
- spec/config_spec.rb
|
62
76
|
- spec/profiler_spec.rb
|
63
77
|
- spec/spec_helper.rb
|
78
|
+
has_rdoc: true
|
64
79
|
homepage: http://rubygems.org/gems/monitoring-client
|
65
80
|
licenses: []
|
81
|
+
|
66
82
|
post_install_message:
|
67
83
|
rdoc_options: []
|
68
|
-
|
84
|
+
|
85
|
+
require_paths:
|
69
86
|
- lib
|
70
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
87
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
71
88
|
none: false
|
72
|
-
requirements:
|
73
|
-
- -
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
|
76
|
-
|
89
|
+
requirements:
|
90
|
+
- - ">="
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
hash: 3
|
93
|
+
segments:
|
94
|
+
- 0
|
95
|
+
version: "0"
|
96
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
77
97
|
none: false
|
78
|
-
requirements:
|
79
|
-
- -
|
80
|
-
- !ruby/object:Gem::Version
|
81
|
-
|
98
|
+
requirements:
|
99
|
+
- - ">="
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
hash: 3
|
102
|
+
segments:
|
103
|
+
- 0
|
104
|
+
version: "0"
|
82
105
|
requirements: []
|
106
|
+
|
83
107
|
rubyforge_project: monitoring-client
|
84
|
-
rubygems_version: 1.
|
108
|
+
rubygems_version: 1.6.2
|
85
109
|
signing_key:
|
86
110
|
specification_version: 3
|
87
111
|
summary: Simple client & daemon to post metrics
|
88
112
|
test_files: []
|
113
|
+
|