woody.rb 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/woody/statsd/client.rb +42 -0
- data/lib/woody/version.rb +1 -1
- data/lib/woody.rb +1 -1
- metadata +2 -2
- data/lib/woody/statsd.rb +0 -40
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9fa635c0907162c85e3489373a4a4688d3e69485
|
4
|
+
data.tar.gz: bf06aaa8af9e9d95db69c30a4acb24a341e187bc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7948277aafeea332d7f9b5349d430aab5ea471db1ac17ef93bc3d01047d8c9e86a188b8866fd4224a2988b7e0791f9b0d147d9d2b69ddb04568dbf30768a3459
|
7
|
+
data.tar.gz: 97f635a0d2d4fcf6252b430ed9cf097129f6c897670cc192eef7239df0c72848be72ff5d3bf1bfbad66781846d833d63a577bca0d58f6b587c358953f0db4892
|
@@ -0,0 +1,42 @@
|
|
1
|
+
require 'socket'
|
2
|
+
|
3
|
+
module Woody
|
4
|
+
module Statsd
|
5
|
+
class Client
|
6
|
+
def initialize(namespace, host = ENV['STATSD_HOST'], port = ENV['STATSD_PORT'])
|
7
|
+
@host = host
|
8
|
+
@port = port
|
9
|
+
@socket = UDPSocket.new
|
10
|
+
@ns = namespace
|
11
|
+
end
|
12
|
+
|
13
|
+
def increment(stat, inc = 1)
|
14
|
+
send_to_socket counter_stat(stat, inc)
|
15
|
+
end
|
16
|
+
|
17
|
+
def timing(stat, time_took)
|
18
|
+
send_to_socket timing_stat(stat, time_took)
|
19
|
+
end
|
20
|
+
|
21
|
+
def with_timing(stat)
|
22
|
+
start = Time.now.to_f
|
23
|
+
res = yield
|
24
|
+
time_took = Time.now.to_f - start
|
25
|
+
timing(stat, time_took)
|
26
|
+
res
|
27
|
+
end
|
28
|
+
|
29
|
+
def counter_stat(stat, inc)
|
30
|
+
"#{@ns}.#{stat}:#{inc}|c\n"
|
31
|
+
end
|
32
|
+
|
33
|
+
def timing_stat(stat, time_took)
|
34
|
+
"#{@ns}.#{stat}:#{time_took.round}|ms\n"
|
35
|
+
end
|
36
|
+
|
37
|
+
def send_to_socket(msg)
|
38
|
+
@socket.send msg, 0, @host, @port
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
data/lib/woody/version.rb
CHANGED
data/lib/woody.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: woody.rb
|
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
|
- Chen Fisher
|
@@ -56,7 +56,7 @@ files:
|
|
56
56
|
- lib/woody.rb
|
57
57
|
- lib/woody/influx.rb
|
58
58
|
- lib/woody/logger.rb
|
59
|
-
- lib/woody/statsd.rb
|
59
|
+
- lib/woody/statsd/client.rb
|
60
60
|
- lib/woody/version.rb
|
61
61
|
- woody.gemspec
|
62
62
|
homepage: http://nanit.com
|
data/lib/woody/statsd.rb
DELETED
@@ -1,40 +0,0 @@
|
|
1
|
-
require 'socket'
|
2
|
-
|
3
|
-
module Woody
|
4
|
-
class Statsd
|
5
|
-
def initialize(host, port, namespace)
|
6
|
-
@host = host
|
7
|
-
@port = port
|
8
|
-
@socket = UDPSocket.new
|
9
|
-
@ns = namespace
|
10
|
-
end
|
11
|
-
|
12
|
-
def increment(stat, inc = 1)
|
13
|
-
send_to_socket counter_stat(stat, inc)
|
14
|
-
end
|
15
|
-
|
16
|
-
def timing(stat, time_took)
|
17
|
-
send_to_socket timing_stat(stat, time_took)
|
18
|
-
end
|
19
|
-
|
20
|
-
def with_timing(stat)
|
21
|
-
start = Time.now.to_f
|
22
|
-
res = yield
|
23
|
-
time_took = Time.now.to_f - start
|
24
|
-
timing(stat, time_took)
|
25
|
-
res
|
26
|
-
end
|
27
|
-
|
28
|
-
def counter_stat(stat, inc)
|
29
|
-
"#{@ns}.#{stat}:#{inc}|c\n"
|
30
|
-
end
|
31
|
-
|
32
|
-
def timing_stat(stat, time_took)
|
33
|
-
"#{@ns}.#{stat}:#{time_took.round}|ms\n"
|
34
|
-
end
|
35
|
-
|
36
|
-
def send_to_socket(msg)
|
37
|
-
@socket.send msg, 0, @host, @port
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|