rtsd 0.0.1 → 0.0.2
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.
- checksums.yaml +7 -0
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/.gitignore +1 -0
- data/README.md +1 -3
- data/lib/rtsd/client.rb +3 -1
- data/lib/rtsd/version.rb +1 -1
- data/rtsd.gemspec +1 -1
- data/spec/rtsd/client_spec.rb +23 -1
- metadata +109 -130
- metadata.gz.sig +0 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: f207e09c65c06032cb454afe6cae321f408b1709
|
4
|
+
data.tar.gz: 25b1794a1a165875684adad56366b2948519ea3a
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 9cc08405254aab40290397fe4c6ebb2a3af20123e6138e6224ccba895425d870d1ae31bdaed6b9729ba6f919573d35acff1ee571dd2a314e23396e37afc370a3
|
7
|
+
data.tar.gz: f0eed0810838345d974bd0f2e428bfa9af1ae388c0a29f678a12f3f14ff39d6a0d70c0c17e2199c1cfd4fb58469a1d2366c1dbbc3e1a73deb6a99b6ff3a3769c
|
checksums.yaml.gz.sig
ADDED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/.gitignore
CHANGED
data/README.md
CHANGED
@@ -20,15 +20,13 @@ Or install it yourself as:
|
|
20
20
|
|
21
21
|
## Usage
|
22
22
|
|
23
|
-
TODO: Write usage instructions here
|
24
|
-
|
25
23
|
```ruby
|
26
24
|
client = Rtsd::Client.new(:hostname => 'localhost', :port => 4242)
|
27
25
|
|
28
26
|
client.put(:metric => 'cheezeburgers.per_second',
|
29
27
|
:value => 9001,
|
30
28
|
:timestamp => Time.now.to_i,
|
31
|
-
:tags => {:ya => 'nope', :host => 'strongbadia')
|
29
|
+
:tags => {:ya => 'nope', :host => 'strongbadia'})
|
32
30
|
```
|
33
31
|
|
34
32
|
## Contributing
|
data/lib/rtsd/client.rb
CHANGED
@@ -10,8 +10,10 @@ module Rtsd
|
|
10
10
|
metric = params.fetch(:metric)
|
11
11
|
timestamp = params[:timestamp] || Time.now.to_i
|
12
12
|
value = params.fetch(:value).to_f
|
13
|
-
tags = params.fetch(:tags
|
13
|
+
tags = params.fetch(:tags).map{|k,v| "#{k}=#{v}"}.join(" ")
|
14
14
|
connection.puts "put %s %d %s %s" % [metric, timestamp, value, tags]
|
15
|
+
rescue KeyError => e
|
16
|
+
raise ArgumentError, e.message
|
15
17
|
end
|
16
18
|
end
|
17
19
|
end
|
data/lib/rtsd/version.rb
CHANGED
data/rtsd.gemspec
CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
|
|
10
10
|
spec.email = ["donald.plummer@gmail.com"]
|
11
11
|
spec.description = %q{A Ruby client for OpenTSDB, for writing metrics to the API.}
|
12
12
|
spec.summary = %q{A Ruby client for OpenTSDB.}
|
13
|
-
spec.homepage = "https://github.com/dplummer/
|
13
|
+
spec.homepage = "https://github.com/dplummer/rtsd_client"
|
14
14
|
spec.license = "MIT"
|
15
15
|
spec.signing_key = "#{ENV['HOME']}/.gem/gem-private_key.pem"
|
16
16
|
spec.cert_chain = ["#{ENV['HOME']}/.gem/gem-public_cert.pem"]
|
data/spec/rtsd/client_spec.rb
CHANGED
@@ -2,7 +2,7 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe Rtsd::Client do
|
4
4
|
subject { Rtsd::Client.new(:hostname => 'localhost', :port => 4242) }
|
5
|
-
let(:socket) {
|
5
|
+
let(:socket) { double("Socket", :puts => nil) }
|
6
6
|
|
7
7
|
before(:each) do
|
8
8
|
TCPSocket.stub(:new).and_return(socket)
|
@@ -25,6 +25,28 @@ describe Rtsd::Client do
|
|
25
25
|
subject.put(params)
|
26
26
|
end
|
27
27
|
|
28
|
+
context 'missing keys' do
|
29
|
+
it 'raises ArgumentError with no params' do
|
30
|
+
expect{subject.put({})}.to raise_error(ArgumentError)
|
31
|
+
end
|
32
|
+
|
33
|
+
it 'raises ArgumentError with missing metric' do
|
34
|
+
expect{subject.put({:value => 1, :timestamp => Time.now.to_i, :tags => {:foo => 'bar'}})}.to raise_error(ArgumentError)
|
35
|
+
end
|
36
|
+
|
37
|
+
it 'raises ArgumentError with missing value' do
|
38
|
+
expect{subject.put({:metric => 1, :timestamp => Time.now.to_i, :tags => {:foo => 'bar'}})}.to raise_error(ArgumentError)
|
39
|
+
end
|
40
|
+
|
41
|
+
it 'raises ArgumentError with missing tags' do
|
42
|
+
expect{subject.put({:metric => 'foo.bar', :value => 1, :timestamp => Time.now.to_i})}.to raise_error(ArgumentError)
|
43
|
+
end
|
44
|
+
|
45
|
+
it 'does not raise ArgumentError with missing timestamp' do
|
46
|
+
expect{subject.put({:metric => 'foo.bar', :value => 1, :tags => { :foo => 'bar' }})}.not_to raise_error()
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
28
50
|
context "no server listening" do
|
29
51
|
before(:each) do
|
30
52
|
TCPSocket.stub(:new).and_raise(Errno::ECONNREFUSED)
|
metadata
CHANGED
@@ -1,19 +1,13 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: rtsd
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 0
|
9
|
-
- 1
|
10
|
-
version: 0.0.1
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.2
|
11
5
|
platform: ruby
|
12
|
-
authors:
|
6
|
+
authors:
|
13
7
|
- Donald Plummer
|
14
8
|
autorequire:
|
15
9
|
bindir: bin
|
16
|
-
cert_chain:
|
10
|
+
cert_chain:
|
17
11
|
- |
|
18
12
|
-----BEGIN CERTIFICATE-----
|
19
13
|
MIIDPjCCAiagAwIBAgIBADANBgkqhkiG9w0BAQUFADBFMRcwFQYDVQQDDA5kb25h
|
@@ -35,119 +29,113 @@ cert_chain:
|
|
35
29
|
3n5ySa5BwuDg/KUBbTgacxQa0/RPnlDEe5bDD4wR9Fl14ogCgp7FNmvS/mpx1Gsx
|
36
30
|
83hy5JO2AhXPlQJF/Tc0VdNU
|
37
31
|
-----END CERTIFICATE-----
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
- !ruby/object:Gem::Dependency
|
32
|
+
date: 2013-08-02 00:00:00.000000000 Z
|
33
|
+
dependencies:
|
34
|
+
- !ruby/object:Gem::Dependency
|
42
35
|
name: bundler
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
- - ">="
|
48
|
-
- !ruby/object:Gem::Version
|
49
|
-
hash: 25
|
50
|
-
segments:
|
51
|
-
- 1
|
52
|
-
- 1
|
53
|
-
- 5
|
36
|
+
requirement: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
54
40
|
version: 1.1.5
|
55
41
|
type: :development
|
56
|
-
version_requirements: *id001
|
57
|
-
- !ruby/object:Gem::Dependency
|
58
|
-
name: rake
|
59
42
|
prerelease: false
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
43
|
+
version_requirements: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 1.1.5
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
name: rake
|
50
|
+
requirement: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
69
55
|
type: :development
|
70
|
-
version_requirements: *id002
|
71
|
-
- !ruby/object:Gem::Dependency
|
72
|
-
name: rspec
|
73
56
|
prerelease: false
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
57
|
+
version_requirements: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: rspec
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
83
69
|
type: :development
|
84
|
-
version_requirements: *id003
|
85
|
-
- !ruby/object:Gem::Dependency
|
86
|
-
name: guard
|
87
70
|
prerelease: false
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
71
|
+
version_requirements: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - '>='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
- !ruby/object:Gem::Dependency
|
77
|
+
name: guard
|
78
|
+
requirement: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
97
83
|
type: :development
|
98
|
-
version_requirements: *id004
|
99
|
-
- !ruby/object:Gem::Dependency
|
100
|
-
name: guard-rspec
|
101
84
|
prerelease: false
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
85
|
+
version_requirements: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - '>='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
- !ruby/object:Gem::Dependency
|
91
|
+
name: guard-rspec
|
92
|
+
requirement: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - '>='
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
111
97
|
type: :development
|
112
|
-
version_requirements: *id005
|
113
|
-
- !ruby/object:Gem::Dependency
|
114
|
-
name: guard-bundler
|
115
98
|
prerelease: false
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
99
|
+
version_requirements: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - '>='
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
- !ruby/object:Gem::Dependency
|
105
|
+
name: guard-bundler
|
106
|
+
requirement: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - '>='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
125
111
|
type: :development
|
126
|
-
version_requirements: *id006
|
127
|
-
- !ruby/object:Gem::Dependency
|
128
|
-
name: rb-inotify
|
129
112
|
prerelease: false
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
113
|
+
version_requirements: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - '>='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
- !ruby/object:Gem::Dependency
|
119
|
+
name: rb-inotify
|
120
|
+
requirement: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - '>='
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
139
125
|
type: :development
|
140
|
-
|
126
|
+
prerelease: false
|
127
|
+
version_requirements: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - '>='
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
141
132
|
description: A Ruby client for OpenTSDB, for writing metrics to the API.
|
142
|
-
email:
|
133
|
+
email:
|
143
134
|
- donald.plummer@gmail.com
|
144
135
|
executables: []
|
145
|
-
|
146
136
|
extensions: []
|
147
|
-
|
148
137
|
extra_rdoc_files: []
|
149
|
-
|
150
|
-
files:
|
138
|
+
files:
|
151
139
|
- .gitignore
|
152
140
|
- .rspec
|
153
141
|
- Gemfile
|
@@ -162,40 +150,31 @@ files:
|
|
162
150
|
- rtsd.gemspec
|
163
151
|
- spec/rtsd/client_spec.rb
|
164
152
|
- spec/spec_helper.rb
|
165
|
-
homepage: https://github.com/dplummer/
|
166
|
-
licenses:
|
153
|
+
homepage: https://github.com/dplummer/rtsd_client
|
154
|
+
licenses:
|
167
155
|
- MIT
|
156
|
+
metadata: {}
|
168
157
|
post_install_message:
|
169
158
|
rdoc_options: []
|
170
|
-
|
171
|
-
require_paths:
|
159
|
+
require_paths:
|
172
160
|
- lib
|
173
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
none: false
|
184
|
-
requirements:
|
185
|
-
- - ">="
|
186
|
-
- !ruby/object:Gem::Version
|
187
|
-
hash: 3
|
188
|
-
segments:
|
189
|
-
- 0
|
190
|
-
version: "0"
|
161
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
162
|
+
requirements:
|
163
|
+
- - '>='
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: '0'
|
166
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
167
|
+
requirements:
|
168
|
+
- - '>='
|
169
|
+
- !ruby/object:Gem::Version
|
170
|
+
version: '0'
|
191
171
|
requirements: []
|
192
|
-
|
193
172
|
rubyforge_project:
|
194
|
-
rubygems_version:
|
173
|
+
rubygems_version: 2.0.4
|
195
174
|
signing_key:
|
196
|
-
specification_version:
|
175
|
+
specification_version: 4
|
197
176
|
summary: A Ruby client for OpenTSDB.
|
198
|
-
test_files:
|
177
|
+
test_files:
|
199
178
|
- spec/rtsd/client_spec.rb
|
200
179
|
- spec/spec_helper.rb
|
201
180
|
has_rdoc:
|
metadata.gz.sig
CHANGED
Binary file
|