fozzie 0.0.17 → 0.0.18

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/README.md CHANGED
@@ -1,6 +1,193 @@
1
- Fozzie
2
- ===========
1
+ # Fozzie
3
2
 
4
- Ruby gem for registering metrics via Statsd... with some nice extras.
3
+ Ruby gem for registering statistics to Statsd in various ways.
5
4
 
6
- ![Fozzie](http://upload.wikimedia.org/wikipedia/en/6/66/Fozzie-bear.jpg)
5
+ ## Basic Usage
6
+
7
+ Send through statistics depending on the type you want to provide:
8
+
9
+ ### Increment counter
10
+
11
+ Stats.increment 'wat'
12
+
13
+ ### Decrement counter
14
+
15
+ Stats.decrement 'wat'
16
+
17
+ ### Decrement counter - provide a value as integer
18
+
19
+ Stats.count 'wat', 5
20
+
21
+ ### Basic timing - provide a value in milliseconds
22
+
23
+ Stats.timing 'wat', 500
24
+
25
+ ### Timings - provide a block to time against (inline and do syntax supported)
26
+
27
+ Stats.time 'wat' { sleep 5 }
28
+
29
+ Stats.time_to_do 'wat' do
30
+ sleep 5
31
+ end
32
+
33
+ Stats.time_for 'wat' { sleep 5 }
34
+
35
+ ### Events - register different events
36
+
37
+
38
+ #### Commits
39
+
40
+ Stats.commit
41
+
42
+ Stats.committed
43
+
44
+ #### Builds
45
+
46
+ Stats.built
47
+
48
+ Stats.build
49
+
50
+ #### Deployments
51
+
52
+ Stats.deployed
53
+
54
+ With a custom app:
55
+
56
+ Stats.deployed 'watapp'
57
+
58
+ Stats.deploy
59
+
60
+ With a custom app:
61
+
62
+ Stats.deploy 'watapp'
63
+
64
+ #### Custom
65
+
66
+ Stats.event 'pull'
67
+
68
+ With a custom app:
69
+
70
+ Stats.event 'pull', 'watapp'
71
+
72
+ ### Boolean result - pass a value to be true or false, and increment on true
73
+
74
+ Stats.increment_on 'wat', duck.valid?
75
+
76
+ ## Sampling
77
+
78
+ Each of the above methods accepts a sample rate as the last argument (before any applicable blocks), e.g:
79
+
80
+ Stats.increment 'wat', 10
81
+
82
+ Stats.decrement 'wat', 10
83
+
84
+ Stats.count 'wat', 5, 10
85
+
86
+ ## Namespaces
87
+
88
+ Fozzie supports the following namespaces as default
89
+
90
+ Stats.increment 'wat'
91
+ S.increment 'wat'
92
+ Statistics.increment 'wat'
93
+ Warehouse.increment 'wat'
94
+
95
+ You can customise this via the YAML configuration (see instructions below)
96
+
97
+ ## Configuration
98
+
99
+ Fozzie is configured via a YAML or by setting a block against the Fozzie namespace.
100
+
101
+ ### YAML
102
+
103
+ Create a `fozzie.yml` within a `config` folder on the root of your app, which contains your settings for each env. Simple, verbose example below.
104
+
105
+ development:
106
+ appname: wat
107
+ host: '127.0.0.1'
108
+ port: 8125
109
+ namespaces: %w{Foo Bar Wat}
110
+ test:
111
+ appname: wat
112
+ host: 'localhost'
113
+ port: 8125
114
+ namespaces: %w{Foo Bar Wat}
115
+ production:
116
+ appname: wat
117
+ host: 'stats.wat.com'
118
+ port: 8125
119
+ namespaces: %w{Foo Bar Wat}
120
+
121
+ ### Configure block
122
+
123
+ Fozzie.configure do |config|
124
+ config.appname = "wat"
125
+ config.host = "127.0.0.1"
126
+ config.port = 8125
127
+ end
128
+
129
+ ## Middleware
130
+
131
+ To time and register the controller actions within your Rails application, Fozzie provides some middleware.
132
+
133
+ ### Rack
134
+
135
+ require 'rack'
136
+ require 'fozzie'
137
+
138
+ app = Rack::Builder.new {
139
+ use Fozzie::Rack::Middleware
140
+ lambda { |env| [200, {'Content-Type' => 'text/plain'}, 'OK'] }
141
+ }
142
+
143
+ ### Rails
144
+
145
+ Based on the Rack middleware above, but is more involved in it's construction of the bucket value.
146
+
147
+ Add the following to your `config/environment.rb`
148
+
149
+ Rails::Initializer.run do |config|
150
+ config.middleware.use 'Fozzie::Rails::Middleware'
151
+ end
152
+
153
+ ## Bucket name prefixes
154
+
155
+ Fozzie will construct bucket name prefixes according to your settings and environment. Example would be
156
+
157
+ Stats.increment 'foo'
158
+
159
+ Would be represented as the following Graphite bucket:
160
+
161
+ wat.your-computer-name.development.foo
162
+
163
+ When working on your development machine. This allows multiple application instances, in different environments, to be distinguished easily, and collated in Graphite quickly.
164
+
165
+ ## Low level behaviour
166
+
167
+ The current implementation of Fozzie wraps the sending of the statistic in a timeout and rescue block, which prevent long host lookups (i.e. if your stats server disappears) and minimises impact on your code or application if something is erroring at a low level.
168
+
169
+ Fozzie will try to log these errors, but only if a logger has been applied (which by default it does not). Examples:
170
+
171
+ require 'logger'
172
+ Fozzie.logger = Logger.new(STDOUT)
173
+
174
+ require 'logger'
175
+ Fozzie.logger = Logger.new 'log/fozzie.log'
176
+
177
+ This may change, depending on feedback and more production experience.
178
+
179
+ ## Credits
180
+
181
+ Currently supported and maintained by [Marc Watts](marc.watts@lonelyplanet.co.uk) @Lonely Planet Online.
182
+
183
+ Big thanks to:
184
+
185
+ * [Mark Barger](mark.barger@lonelyplanet.co.uk) for support in trying to make this Gem useful.
186
+
187
+ * [Etsy](http://codeascraft.etsy.com/) who's [Statsd](https://github.com/etsy/statsd) product has enabled us to come such a long way in a very short period of time. We love Etsy.
188
+
189
+ * [https://github.com/reinh](https://github.com/reinh/statsd) for his [statsd](https://github.com/reinh/statsd) Gem.
190
+
191
+ ## Comments and Feedback
192
+
193
+ Please [contact](marc.watts@lonelyplanet.co.uk) me on anything... improvements will be needed and are welcomed greatly.
data/doc/lib/fozzie.html CHANGED
@@ -105,6 +105,8 @@ designed to make gathering stastistics from applications easy, fast, and effecti
105
105
  <a class="pilcrow" href="#section-5">&#182;</a>
106
106
  </div>
107
107
  <p>Set a logger</p>
108
+
109
+ <p><code>Fozzie.logger = Logger.new(STDOUT)</code></p>
108
110
  </td>
109
111
  <td class=code>
110
112
  <div class='highlight'><pre> <span class="k">def</span> <span class="nf">logger</span><span class="o">=</span><span class="p">(</span><span class="n">logger</span><span class="p">)</span>
@@ -118,6 +120,8 @@ designed to make gathering stastistics from applications easy, fast, and effecti
118
120
  <a class="pilcrow" href="#section-6">&#182;</a>
119
121
  </div>
120
122
  <p>Accessor for logger</p>
123
+
124
+ <p><code>Fozzie.logger.warn &lsquo;foo&rsquo;</code></p>
121
125
  </td>
122
126
  <td class=code>
123
127
  <div class='highlight'><pre> <span class="k">def</span> <span class="nf">logger</span>
@@ -273,8 +273,8 @@
273
273
 
274
274
  </td>
275
275
  <td class=code>
276
- <div class='highlight'><pre> <span class="k">def</span> <span class="nf">event</span><span class="p">(</span><span class="nb">type</span><span class="p">,</span> <span class="n">app</span> <span class="o">=</span> <span class="kp">nil</span><span class="p">)</span>
277
- <span class="n">timing</span> <span class="o">[</span><span class="s2">&quot;event&quot;</span><span class="p">,</span> <span class="nb">type</span><span class="o">.</span><span class="n">to_s</span><span class="p">,</span> <span class="n">app</span><span class="o">]</span><span class="p">,</span> <span class="no">Time</span><span class="o">.</span><span class="n">now</span><span class="o">.</span><span class="n">usec</span>
276
+ <div class='highlight'><pre> <span class="k">def</span> <span class="nf">event</span><span class="p">(</span><span class="n">type</span><span class="p">,</span> <span class="n">app</span> <span class="o">=</span> <span class="kp">nil</span><span class="p">)</span>
277
+ <span class="n">timing</span> <span class="o">[</span><span class="s2">&quot;event&quot;</span><span class="p">,</span> <span class="n">type</span><span class="o">.</span><span class="n">to_s</span><span class="p">,</span> <span class="n">app</span><span class="o">]</span><span class="p">,</span> <span class="no">Time</span><span class="o">.</span><span class="n">now</span><span class="o">.</span><span class="n">usec</span>
278
278
  <span class="k">end</span>
279
279
 
280
280
  <span class="k">end</span>
@@ -39,7 +39,9 @@
39
39
 
40
40
  </td>
41
41
  <td class=code>
42
- <div class='highlight'><pre><span class="k">module</span> <span class="nn">Fozzie</span>
42
+ <div class='highlight'><pre><span class="nb">require</span> <span class="s1">&#39;socket&#39;</span>
43
+
44
+ <span class="k">module</span> <span class="nn">Fozzie</span>
43
45
  <span class="k">module</span> <span class="nn">Socket</span>
44
46
 
45
47
  <span class="no">RESERVED_CHARS_REGEX</span> <span class="o">=</span> <span class="sr">/[\:\|\@]/</span>
@@ -57,13 +59,13 @@
57
59
  <p>Creates the Statsd key from the given values, and sends to socket (depending on sample rate)</p>
58
60
  </td>
59
61
  <td class=code>
60
- <div class='highlight'><pre> <span class="k">def</span> <span class="nf">send</span><span class="p">(</span><span class="n">stat</span><span class="p">,</span> <span class="n">delta</span><span class="p">,</span> <span class="nb">type</span><span class="p">,</span> <span class="n">sample_rate</span><span class="p">)</span>
62
+ <div class='highlight'><pre> <span class="k">def</span> <span class="nf">send</span><span class="p">(</span><span class="n">stat</span><span class="p">,</span> <span class="n">delta</span><span class="p">,</span> <span class="n">type</span><span class="p">,</span> <span class="n">sample_rate</span><span class="p">)</span>
61
63
  <span class="n">stat</span> <span class="o">=</span> <span class="o">[</span><span class="n">stat</span><span class="o">].</span><span class="n">flatten</span><span class="o">.</span><span class="n">compact</span><span class="o">.</span><span class="n">collect</span><span class="p">(</span><span class="o">&amp;</span><span class="ss">:to_s</span><span class="p">)</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">downcase</span>
62
64
  <span class="n">stat</span> <span class="o">=</span> <span class="n">stat</span><span class="o">.</span><span class="n">gsub</span><span class="p">(</span><span class="s1">&#39;::&#39;</span><span class="p">,</span> <span class="s1">&#39;.&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">gsub</span><span class="p">(</span><span class="no">RESERVED_CHARS_REGEX</span><span class="p">,</span> <span class="s1">&#39;_&#39;</span><span class="p">)</span>
63
65
 
64
66
  <span class="n">k</span> <span class="o">=</span> <span class="o">[</span><span class="no">Fozzie</span><span class="o">.</span><span class="n">c</span><span class="o">.</span><span class="n">data_prefix</span><span class="p">,</span> <span class="n">stat</span><span class="o">].</span><span class="n">compact</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="s1">&#39;.&#39;</span><span class="p">)</span>
65
67
  <span class="n">k</span> <span class="o">&lt;&lt;</span> <span class="s2">&quot;:&quot;</span>
66
- <span class="n">k</span> <span class="o">&lt;&lt;</span> <span class="o">[</span><span class="n">delta</span><span class="p">,</span> <span class="nb">type</span><span class="o">].</span><span class="n">join</span><span class="p">(</span><span class="s1">&#39;|&#39;</span><span class="p">)</span>
68
+ <span class="n">k</span> <span class="o">&lt;&lt;</span> <span class="o">[</span><span class="n">delta</span><span class="p">,</span> <span class="n">type</span><span class="o">].</span><span class="n">join</span><span class="p">(</span><span class="s1">&#39;|&#39;</span><span class="p">)</span>
67
69
  <span class="n">k</span> <span class="o">&lt;&lt;</span> <span class="s1">&#39;@%s&#39;</span> <span class="o">%</span> <span class="n">sample_rate</span><span class="o">.</span><span class="n">to_s</span> <span class="k">if</span> <span class="n">sample_rate</span> <span class="o">&lt;</span> <span class="mi">1</span>
68
70
 
69
71
  <span class="n">sampled</span><span class="p">(</span><span class="n">sample_rate</span><span class="p">)</span> <span class="p">{</span> <span class="n">send_to_socket</span><span class="p">(</span><span class="n">k</span><span class="o">.</span><span class="n">strip</span><span class="p">)</span> <span class="p">}</span>
@@ -115,7 +117,7 @@
115
117
  </td>
116
118
  <td class=code>
117
119
  <div class='highlight'><pre> <span class="k">def</span> <span class="nf">socket</span>
118
- <span class="vi">@socket</span> <span class="o">||=</span> <span class="no">UDPSocket</span><span class="o">.</span><span class="n">new</span>
120
+ <span class="vi">@socket</span> <span class="o">||=</span> <span class="o">::</span><span class="no">UDPSocket</span><span class="o">.</span><span class="n">new</span>
119
121
  <span class="k">end</span>
120
122
 
121
123
  <span class="k">end</span>
data/fozzie.gemspec CHANGED
@@ -5,10 +5,13 @@ require "fozzie/version"
5
5
  Gem::Specification.new do |s|
6
6
  s.name = "fozzie"
7
7
  s.version = Fozzie::VERSION
8
- s.authors = ["Marc Watts"]
9
- s.email = ["marcky.sharky@gmail.com"]
10
- s.summary = %q{Statsd gem bolt-on}
11
- s.description = %q{Gem allows statistics gathering from Ruby and Ruby on Rails applications to Statsd}
8
+ s.authors = ["Marc Watts", "Mark Barger"]
9
+ s.email = ["marc.watts@lonelyplanet.co.uk"]
10
+ s.summary = %q{Statsd Ruby gem from Lonely Planet Online}
11
+ s.description = %q{
12
+ Gem to make statistics sending to Statsd from Ruby applications simple and efficient as possible.
13
+ Inspired by the original ruby-statsd gem by Etsy, currently used by Lonely Planet Online.
14
+ }
12
15
 
13
16
  s.rubyforge_project = "fozzie"
14
17
 
@@ -16,7 +19,7 @@ Gem::Specification.new do |s|
16
19
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
17
20
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
18
21
  s.require_paths = ["lib"]
19
-
22
+
20
23
  s.add_dependency 'sys-uname'
21
24
 
22
25
  s.add_development_dependency 'rake'
@@ -28,7 +31,7 @@ Gem::Specification.new do |s|
28
31
  s.add_development_dependency 'simplecov'
29
32
  s.add_development_dependency 'sinatra'
30
33
  s.add_development_dependency 'actionpack'
31
-
34
+
32
35
  s.add_development_dependency 'guard'
33
36
  s.add_development_dependency 'guard-rspec'
34
37
  s.add_development_dependency 'guard-rocco'
data/lib/fozzie.rb CHANGED
@@ -36,11 +36,16 @@ module Fozzie
36
36
  end
37
37
 
38
38
  # Set a logger
39
+ #
40
+ #
41
+ # `Fozzie.logger = Logger.new(STDOUT)`
39
42
  def logger=(logger)
40
43
  @logger = logger
41
44
  end
42
45
 
43
46
  # Accessor for logger
47
+ #
48
+ # `Fozzie.logger.warn 'foo'`
44
49
  def logger
45
50
  @logger
46
51
  end
data/lib/fozzie/socket.rb CHANGED
@@ -1,3 +1,5 @@
1
+ require 'socket'
2
+
1
3
  module Fozzie
2
4
  module Socket
3
5
 
@@ -42,7 +44,7 @@ module Fozzie
42
44
 
43
45
  # The Socket we want to use to send data
44
46
  def socket
45
- @socket ||= UDPSocket.new
47
+ @socket ||= ::UDPSocket.new
46
48
  end
47
49
 
48
50
  end
@@ -1,3 +1,3 @@
1
1
  module Fozzie
2
- VERSION = "0.0.17"
2
+ VERSION = "0.0.18"
3
3
  end
metadata CHANGED
@@ -1,19 +1,20 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fozzie
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.17
4
+ version: 0.0.18
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
8
8
  - Marc Watts
9
+ - Mark Barger
9
10
  autorequire:
10
11
  bindir: bin
11
12
  cert_chain: []
12
- date: 2012-03-28 00:00:00.000000000 Z
13
+ date: 2012-04-04 00:00:00.000000000 Z
13
14
  dependencies:
14
15
  - !ruby/object:Gem::Dependency
15
16
  name: sys-uname
16
- requirement: &70183205078380 !ruby/object:Gem::Requirement
17
+ requirement: &70348897347620 !ruby/object:Gem::Requirement
17
18
  none: false
18
19
  requirements:
19
20
  - - ! '>='
@@ -21,10 +22,10 @@ dependencies:
21
22
  version: '0'
22
23
  type: :runtime
23
24
  prerelease: false
24
- version_requirements: *70183205078380
25
+ version_requirements: *70348897347620
25
26
  - !ruby/object:Gem::Dependency
26
27
  name: rake
27
- requirement: &70183205093600 !ruby/object:Gem::Requirement
28
+ requirement: &70348897347100 !ruby/object:Gem::Requirement
28
29
  none: false
29
30
  requirements:
30
31
  - - ! '>='
@@ -32,10 +33,10 @@ dependencies:
32
33
  version: '0'
33
34
  type: :development
34
35
  prerelease: false
35
- version_requirements: *70183205093600
36
+ version_requirements: *70348897347100
36
37
  - !ruby/object:Gem::Dependency
37
38
  name: rspec
38
- requirement: &70183205092780 !ruby/object:Gem::Requirement
39
+ requirement: &70348897346500 !ruby/object:Gem::Requirement
39
40
  none: false
40
41
  requirements:
41
42
  - - ! '>='
@@ -43,10 +44,10 @@ dependencies:
43
44
  version: '0'
44
45
  type: :development
45
46
  prerelease: false
46
- version_requirements: *70183205092780
47
+ version_requirements: *70348897346500
47
48
  - !ruby/object:Gem::Dependency
48
49
  name: mocha
49
- requirement: &70183205091800 !ruby/object:Gem::Requirement
50
+ requirement: &70348897345740 !ruby/object:Gem::Requirement
50
51
  none: false
51
52
  requirements:
52
53
  - - ! '>='
@@ -54,10 +55,10 @@ dependencies:
54
55
  version: '0'
55
56
  type: :development
56
57
  prerelease: false
57
- version_requirements: *70183205091800
58
+ version_requirements: *70348897345740
58
59
  - !ruby/object:Gem::Dependency
59
60
  name: syntax
60
- requirement: &70183205090760 !ruby/object:Gem::Requirement
61
+ requirement: &70348897344940 !ruby/object:Gem::Requirement
61
62
  none: false
62
63
  requirements:
63
64
  - - ! '>='
@@ -65,10 +66,10 @@ dependencies:
65
66
  version: '0'
66
67
  type: :development
67
68
  prerelease: false
68
- version_requirements: *70183205090760
69
+ version_requirements: *70348897344940
69
70
  - !ruby/object:Gem::Dependency
70
71
  name: rack-test
71
- requirement: &70183205089920 !ruby/object:Gem::Requirement
72
+ requirement: &70348897344260 !ruby/object:Gem::Requirement
72
73
  none: false
73
74
  requirements:
74
75
  - - ! '>='
@@ -76,10 +77,10 @@ dependencies:
76
77
  version: '0'
77
78
  type: :development
78
79
  prerelease: false
79
- version_requirements: *70183205089920
80
+ version_requirements: *70348897344260
80
81
  - !ruby/object:Gem::Dependency
81
82
  name: simplecov
82
- requirement: &70183205089140 !ruby/object:Gem::Requirement
83
+ requirement: &70348897343500 !ruby/object:Gem::Requirement
83
84
  none: false
84
85
  requirements:
85
86
  - - ! '>='
@@ -87,10 +88,10 @@ dependencies:
87
88
  version: '0'
88
89
  type: :development
89
90
  prerelease: false
90
- version_requirements: *70183205089140
91
+ version_requirements: *70348897343500
91
92
  - !ruby/object:Gem::Dependency
92
93
  name: sinatra
93
- requirement: &70183205088360 !ruby/object:Gem::Requirement
94
+ requirement: &70348897342980 !ruby/object:Gem::Requirement
94
95
  none: false
95
96
  requirements:
96
97
  - - ! '>='
@@ -98,10 +99,10 @@ dependencies:
98
99
  version: '0'
99
100
  type: :development
100
101
  prerelease: false
101
- version_requirements: *70183205088360
102
+ version_requirements: *70348897342980
102
103
  - !ruby/object:Gem::Dependency
103
104
  name: actionpack
104
- requirement: &70183205087460 !ruby/object:Gem::Requirement
105
+ requirement: &70348897342480 !ruby/object:Gem::Requirement
105
106
  none: false
106
107
  requirements:
107
108
  - - ! '>='
@@ -109,10 +110,10 @@ dependencies:
109
110
  version: '0'
110
111
  type: :development
111
112
  prerelease: false
112
- version_requirements: *70183205087460
113
+ version_requirements: *70348897342480
113
114
  - !ruby/object:Gem::Dependency
114
115
  name: guard
115
- requirement: &70183205086840 !ruby/object:Gem::Requirement
116
+ requirement: &70348897357340 !ruby/object:Gem::Requirement
116
117
  none: false
117
118
  requirements:
118
119
  - - ! '>='
@@ -120,10 +121,10 @@ dependencies:
120
121
  version: '0'
121
122
  type: :development
122
123
  prerelease: false
123
- version_requirements: *70183205086840
124
+ version_requirements: *70348897357340
124
125
  - !ruby/object:Gem::Dependency
125
126
  name: guard-rspec
126
- requirement: &70183205102560 !ruby/object:Gem::Requirement
127
+ requirement: &70348897350820 !ruby/object:Gem::Requirement
127
128
  none: false
128
129
  requirements:
129
130
  - - ! '>='
@@ -131,10 +132,10 @@ dependencies:
131
132
  version: '0'
132
133
  type: :development
133
134
  prerelease: false
134
- version_requirements: *70183205102560
135
+ version_requirements: *70348897350820
135
136
  - !ruby/object:Gem::Dependency
136
137
  name: guard-rocco
137
- requirement: &70183205101880 !ruby/object:Gem::Requirement
138
+ requirement: &70348897349720 !ruby/object:Gem::Requirement
138
139
  none: false
139
140
  requirements:
140
141
  - - ! '>='
@@ -142,10 +143,10 @@ dependencies:
142
143
  version: '0'
143
144
  type: :development
144
145
  prerelease: false
145
- version_requirements: *70183205101880
146
+ version_requirements: *70348897349720
146
147
  - !ruby/object:Gem::Dependency
147
148
  name: fl-rocco
148
- requirement: &70183205101220 !ruby/object:Gem::Requirement
149
+ requirement: &70348897385560 !ruby/object:Gem::Requirement
149
150
  none: false
150
151
  requirements:
151
152
  - - ! '>='
@@ -153,11 +154,12 @@ dependencies:
153
154
  version: '0'
154
155
  type: :development
155
156
  prerelease: false
156
- version_requirements: *70183205101220
157
- description: Gem allows statistics gathering from Ruby and Ruby on Rails applications
158
- to Statsd
157
+ version_requirements: *70348897385560
158
+ description: ! "\n Gem to make statistics sending to Statsd from Ruby applications
159
+ simple and efficient as possible.\n Inspired by the original ruby-statsd gem
160
+ by Etsy, currently used by Lonely Planet Online.\n "
159
161
  email:
160
- - marcky.sharky@gmail.com
162
+ - marc.watts@lonelyplanet.co.uk
161
163
  executables: []
162
164
  extensions: []
163
165
  extra_rdoc_files: []
@@ -209,7 +211,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
209
211
  version: '0'
210
212
  segments:
211
213
  - 0
212
- hash: 75122058829835203
214
+ hash: -636781354410393457
213
215
  required_rubygems_version: !ruby/object:Gem::Requirement
214
216
  none: false
215
217
  requirements:
@@ -218,13 +220,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
218
220
  version: '0'
219
221
  segments:
220
222
  - 0
221
- hash: 75122058829835203
223
+ hash: -636781354410393457
222
224
  requirements: []
223
225
  rubyforge_project: fozzie
224
226
  rubygems_version: 1.8.10
225
227
  signing_key:
226
228
  specification_version: 3
227
- summary: Statsd gem bolt-on
229
+ summary: Statsd Ruby gem from Lonely Planet Online
228
230
  test_files:
229
231
  - spec/config/fozzie.yml
230
232
  - spec/lib/core_ext/hash_spec.rb