woody.rb 0.1.8 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e88a71c00ecfad9097eaabf89fee2a4829c3b047
4
- data.tar.gz: 2556efe0e2ff45ce7782bcbe502bd482800ad509
3
+ metadata.gz: 5f65940b0de493e1a5ed74cff33812d1767103c1
4
+ data.tar.gz: b1c44cfeffb95c3b2fcd8fd8437b7d80a7dcfa9c
5
5
  SHA512:
6
- metadata.gz: 636f1d446287e8cdb440f3b18d5d3748c4e5b3ed54aac58624f1d165780736de8752508749ba8f96cb119bf20b2155ee7f448208dcf2b30d6ad86e4727ff8084
7
- data.tar.gz: 082585b94332984264b443bcb42d6f16fca78621ed16872daa63e78df5e321f9dec902484ea5b691760e7ed53d69821eb737036ec6a8d93887296773351a8fef
6
+ metadata.gz: b552cf2fa959bfe0c2626a82198cf4c4c575586164edac3ab7c6244931d47953a040c25d6e3b6efa6aa96ebf71d0cef92df417c056772904fe6bee365f07ba63
7
+ data.tar.gz: ca89087b4d6883b6809a9c20578d93c80c3cb58b83eebd9b74395d077acf51ff4e0d127f7dd0b979c6b5f6f0d9f3fbb89b04abe1b948ad8b043e1825064319f4
@@ -0,0 +1,40 @@
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
data/lib/woody/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Woody
2
- VERSION = "0.1.8"
2
+ VERSION = "0.2.0"
3
3
  end
data/lib/woody.rb CHANGED
@@ -1,3 +1,4 @@
1
1
  require "woody/version"
2
2
  require 'woody/logger'
3
3
  require 'woody/influx'
4
+ require 'woody/statsd'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: woody.rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chen Fisher
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-02-29 00:00:00.000000000 Z
11
+ date: 2016-06-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -56,6 +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
60
  - lib/woody/version.rb
60
61
  - woody.gemspec
61
62
  homepage: http://nanit.com