statsman 1.0.1 → 1.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 +4 -4
- data/lib/statsman/reporter_job.rb +40 -38
- data/lib/statsman/version.rb +1 -1
- data/lib/statsman.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d752188d03561e87022a85944cf218e4fa06b853
|
4
|
+
data.tar.gz: b28134db13fd3290a4a25f3ccc662d01e06c42e2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 14a313c858001d4c7a00648bd76d59298dd0a34c381519b5880c8bcc865c34aec76dd387aec9a9523e79ca1eb4e9ef7200c560933166ea5462922e461ce060a0
|
7
|
+
data.tar.gz: 0f497b50cd46602827b9bb3e019ca0531bbae2603cc41200db829b57965d1d96c34b4a39c513f9c93d2a63e2bd06d7556ef59f634fb0063cd82deaee968d8664
|
@@ -3,43 +3,45 @@ require "sucker_punch"
|
|
3
3
|
require "openssl"
|
4
4
|
require "json"
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
6
|
+
module Statsman
|
7
|
+
class ReporterJob
|
8
|
+
include SuckerPunch::Job
|
9
|
+
|
10
|
+
def perform(config, data_type, key, value, meta)
|
11
|
+
Statsman::Agent.log("ReporterJob sending data_type: #{data_type}, key: #{key}, value: #{value}, meta: #{meta}")
|
12
|
+
|
13
|
+
body = {
|
14
|
+
data_type: data_type,
|
15
|
+
key: key,
|
16
|
+
value: value,
|
17
|
+
meta: meta,
|
18
|
+
time: Time.now.to_i # Add timestamp to body to avoid replay attacks
|
19
|
+
}
|
20
|
+
|
21
|
+
url = "#{config.url}/stats"
|
22
|
+
|
23
|
+
resp = HTTParty.post(
|
24
|
+
"#{config.url}/stats",
|
25
|
+
headers: { "authorization" => request_auth_header(config, "/stats", body)},
|
26
|
+
body: body
|
27
|
+
)
|
28
|
+
Statsman::Agent.log("sent data_type: #{data_type}, key: #{key}, value: #{value}, meta: #{meta}, response: [#{resp.code}] #{resp.headers.inspect}")
|
29
|
+
|
30
|
+
rescue => e
|
31
|
+
Statsman::Agent.log("Exception sending data_type: #{data_type}, key: #{key}, value: #{value}, meta: #{meta}: #{e.message}\n#{e.backtrace.join("\n")}")
|
32
|
+
|
33
|
+
end
|
34
|
+
|
35
|
+
def request_auth_header(config, path, body)
|
36
|
+
signature = request_signature(config, path, body)
|
37
|
+
"#{config.api_key}:#{signature}"
|
38
|
+
end
|
39
|
+
|
40
|
+
def request_signature(config, path, body)
|
41
|
+
str = HTTParty::HashConversions.to_params(body)
|
42
|
+
to_sign = path + str
|
43
|
+
OpenSSL::HMAC.hexdigest(OpenSSL::Digest.new('sha1'), config.api_secret, to_sign)
|
44
|
+
end
|
45
|
+
|
37
46
|
end
|
38
|
-
|
39
|
-
def request_signature(config, path, body)
|
40
|
-
str = HTTParty::HashConversions.to_params(body)
|
41
|
-
to_sign = path + str
|
42
|
-
OpenSSL::HMAC.hexdigest(OpenSSL::Digest.new('sha1'), config.api_secret, to_sign)
|
43
|
-
end
|
44
|
-
|
45
47
|
end
|
data/lib/statsman/version.rb
CHANGED
data/lib/statsman.rb
CHANGED
@@ -61,7 +61,7 @@ module Statsman
|
|
61
61
|
|
62
62
|
def send_data(data_type, key, value, meta = {})
|
63
63
|
log("enqueueing data_type: #{data_type}, key: #{key}, value: #{value}, meta: #{meta.inspect}")
|
64
|
-
ReporterJob.new.async.perform(config, data_type, key, value, meta.to_json)
|
64
|
+
Statsman::ReporterJob.new.async.perform(config, data_type, key, value, meta.to_json)
|
65
65
|
end
|
66
66
|
|
67
67
|
end # Agent
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: statsman
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeff Emminger
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-07-
|
12
|
+
date: 2015-07-30 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: sucker_punch
|