simple-metrics 0.0.11-java → 0.0.12-java

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/.gitignore CHANGED
@@ -14,4 +14,7 @@ spec/reports
14
14
  test/tmp
15
15
  test/version_tmp
16
16
  tmp
17
- bin/
17
+ bin/
18
+ .rbenv-version
19
+ .rbenv-gemsets
20
+ .ruby-version
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Simple::Metrics
2
2
 
3
- A simple JRuby wrapper around Coda's <a href="http://http://metrics.codahale.com/">Metrics package</a>
3
+ A simple JRuby wrapper around Coda's excellent <a href="http://metrics.codahale.com/">Metrics package</a>
4
4
 
5
5
  ## Installation
6
6
 
@@ -18,7 +18,13 @@ Or install it yourself as:
18
18
 
19
19
  ## Healthchecks
20
20
 
21
- Register a new healthcheck
21
+ Monitor the health of your application in a granular way.
22
+
23
+ In a Sinatra/Padrino app, register healthchecks as an extension like so:
24
+
25
+ register Simple::Metrics::Healthchecks
26
+
27
+ To register a new healthcheck:
22
28
 
23
29
  class NurseRatched
24
30
  extend Simple::Metrics::Healthchecks
@@ -40,12 +46,16 @@ Run all healthchecks:
40
46
 
41
47
  NurseRatched.run_all_healthchecks
42
48
 
43
- In a Sinatra/Padrino app, register healthchecks as an extension like so:
49
+ Your healthchecks will be run in a separate thread every 5 seconds. This is a great way to monitor the health of your db connections, thread pools and connections to queues.
44
50
 
45
- register Simple::Metrics::Healthchecks
51
+ If you are running the servlet in a warbler .war file (see example below), you can monitor the overall health of your application with nagios or other monitoring tools.
46
52
 
47
53
  ## Timers
48
54
 
55
+ From: <a href="http://metrics.codahale.com/getting-started/#timers">Timers</a>:
56
+
57
+ A timer measures both the rate that a particular piece of code is called and the distribution of its duration.
58
+
49
59
  class Samovar
50
60
  include Simple::Metrics
51
61
 
@@ -58,10 +68,14 @@ In a Sinatra/Padrino app, register healthchecks as an extension like so:
58
68
 
59
69
  ## Meters
60
70
 
71
+ From: <a href="http://metrics.codahale.com/getting-started/#meters">Meters</a>:
72
+
73
+ "A meter measures the rate of events over time (e.g., “requests per second”). In addition to the mean rate, meters also track 1-, 5-, and 15-minute moving averages."
74
+
61
75
  class Rdio
62
76
  extend Simple::Metrics::Meter
63
77
 
64
- define_meter :bump
78
+ define_meter :bump_meter
65
79
 
66
80
  def bump_dat
67
81
  bump_meter.mark
@@ -78,7 +92,7 @@ In a Sinatra app:
78
92
 
79
93
  ## Exposing metrics from within your app
80
94
 
81
- In order to view the metrics from your application, you'll need to add the servlet endpoints.
95
+ In order to view/collect the health and metrics of your application from the web, you'll need to add the servlet endpoints.
82
96
  For this example, I'm using <a href="https://github.com/jruby/warbler">Warbler</a> to package
83
97
  the application as a .war
84
98
 
@@ -117,10 +131,10 @@ In config/web.xml, add the following servlet mappings:
117
131
  <url-pattern>/ping</url-pattern>
118
132
  </servlet-mapping>
119
133
 
120
- Now you can visit your application and get a thread dump:
134
+ Now you can visit your application and get a thread dump, health check or collect metrics using collectd:
121
135
 
122
136
  > curl localhost:9292/threads
123
137
  main id=1 state=WAITING
124
138
  - waiting on <0x073772c5> (a java.lang.Object)
125
139
  - locked <0x073772c5> (a java.lang.Object)
126
- at java.lang.Object.wait(Native Method)
140
+ at java.lang.Object.wait(Native Method)
@@ -131,7 +131,7 @@
131
131
  <pre class="code ruby"><code><span class='rubyid_class class kw'>class</span> <span class='rubyid_Rdio constant id'>Rdio</span>
132
132
  <span class='rubyid_extend identifier id'>extend</span> <span class='rubyid_Simple constant id'>Simple</span><span class='colon2 op'>::</span><span class='rubyid_Metrics constant id'>Metrics</span><span class='colon2 op'>::</span><span class='rubyid_Meter constant id'>Meter</span>
133
133
 
134
- <span class='rubyid_define_meter identifier id'>define_meter</span> <span class='symbol val'>:bump</span>
134
+ <span class='rubyid_define_meter identifier id'>define_meter</span> <span class='symbol val'>:bump_meter</span>
135
135
 
136
136
  <span class='rubyid_def def kw'>def</span> <span class='rubyid_bump_dat identifier id'>bump_dat</span>
137
137
  <span class='rubyid_bump_meter identifier id'>bump_meter</span><span class='dot token'>.</span><span class='rubyid_mark identifier id'>mark</span>
@@ -131,7 +131,7 @@
131
131
  <pre class="code ruby"><code><span class='rubyid_class class kw'>class</span> <span class='rubyid_Rdio constant id'>Rdio</span>
132
132
  <span class='rubyid_extend identifier id'>extend</span> <span class='rubyid_Simple constant id'>Simple</span><span class='colon2 op'>::</span><span class='rubyid_Metrics constant id'>Metrics</span><span class='colon2 op'>::</span><span class='rubyid_Meter constant id'>Meter</span>
133
133
 
134
- <span class='rubyid_define_meter identifier id'>define_meter</span> <span class='symbol val'>:bump</span>
134
+ <span class='rubyid_define_meter identifier id'>define_meter</span> <span class='symbol val'>:bump_meter</span>
135
135
 
136
136
  <span class='rubyid_def def kw'>def</span> <span class='rubyid_bump_dat identifier id'>bump_dat</span>
137
137
  <span class='rubyid_bump_meter identifier id'>bump_meter</span><span class='dot token'>.</span><span class='rubyid_mark identifier id'>mark</span>
@@ -8,11 +8,12 @@ module Simple
8
8
  # @param [String] name The name of the meter
9
9
  # @param [String] klass_name The name of the class, usually the application. Defaults to
10
10
  # `self.class.name`
11
- def define_meter(name, klass_name = self.class.name)
11
+ # @param [TimeUnit] time_unit The rate at which to measure marked data. Defaults to
12
+ # TimeUnit::SECONDS
13
+ def define_meter(name, klass_name = self.class.name, time_unit = Simple::Metrics::DEFAULT_RATE_UNIT)
12
14
  type = "meter"
13
15
  metric_name = new_metric_name(klass_name, name, type)
14
- meter = Java::ComYammerMetrics::Metrics.new_meter(metric_name, name.to_s,
15
- Simple::Metrics::DEFAULT_RATE_UNIT)
16
+ meter = Java::ComYammerMetrics::Metrics.new_meter(metric_name, name.to_s, time_unit)
16
17
  define_method("#{name}") do
17
18
  meter
18
19
  end
@@ -1,5 +1,5 @@
1
1
  module Simple
2
2
  module Metrics
3
- VERSION = "0.0.11"
3
+ VERSION = "0.0.12"
4
4
  end
5
5
  end
@@ -2,13 +2,12 @@
2
2
  require File.expand_path('../lib/simple/version', __FILE__)
3
3
 
4
4
  Gem::Specification.new do |gem|
5
- gem.authors = ["dan herrera"]
5
+ gem.authors = ["dan herrera", "james pozdena"]
6
6
  gem.email = ["dan@simple.com"]
7
7
  gem.platform = 'java'
8
- gem.description = %q{A JRuby wrapper around codahale's metrics package}
8
+ gem.description = %q{A simple JRuby wrapper around codahale's metrics package}
9
9
  gem.summary = %q{MEASURE ALL THE THINGS!}
10
- gem.homepage = "http://github.banksimple.com/dan/simple-metrics"
11
-
10
+ gem.homepage = "https://github.com/SimpleFinance/simple-metrics"
12
11
  gem.files = `git ls-files`.split($\)
13
12
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
14
13
  gem.name = "simple-metrics"
metadata CHANGED
@@ -1,81 +1,82 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simple-metrics
3
3
  version: !ruby/object:Gem::Version
4
- prerelease:
5
- version: 0.0.11
4
+ version: 0.0.12
5
+ prerelease:
6
6
  platform: java
7
7
  authors:
8
8
  - dan herrera
9
- autorequire:
9
+ - james pozdena
10
+ autorequire:
10
11
  bindir: bin
11
12
  cert_chain: []
12
- date: 2012-12-18 00:00:00.000000000 Z
13
+ date: 2013-05-14 00:00:00.000000000 Z
13
14
  dependencies:
14
15
  - !ruby/object:Gem::Dependency
15
16
  name: rspec
16
- version_requirements: !ruby/object:Gem::Requirement
17
+ requirement: !ruby/object:Gem::Requirement
18
+ none: false
17
19
  requirements:
18
20
  - - ! '>='
19
21
  - !ruby/object:Gem::Version
20
22
  version: '0'
23
+ type: :development
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
21
26
  none: false
22
- requirement: !ruby/object:Gem::Requirement
23
27
  requirements:
24
28
  - - ! '>='
25
29
  - !ruby/object:Gem::Version
26
30
  version: '0'
27
- none: false
28
- prerelease: false
29
- type: :development
30
31
  - !ruby/object:Gem::Dependency
31
32
  name: rake
32
- version_requirements: !ruby/object:Gem::Requirement
33
+ requirement: !ruby/object:Gem::Requirement
34
+ none: false
33
35
  requirements:
34
36
  - - ! '>='
35
37
  - !ruby/object:Gem::Version
36
38
  version: '0'
39
+ type: :development
40
+ prerelease: false
41
+ version_requirements: !ruby/object:Gem::Requirement
37
42
  none: false
38
- requirement: !ruby/object:Gem::Requirement
39
43
  requirements:
40
44
  - - ! '>='
41
45
  - !ruby/object:Gem::Version
42
46
  version: '0'
43
- none: false
44
- prerelease: false
45
- type: :development
46
47
  - !ruby/object:Gem::Dependency
47
48
  name: yard
48
- version_requirements: !ruby/object:Gem::Requirement
49
+ requirement: !ruby/object:Gem::Requirement
50
+ none: false
49
51
  requirements:
50
52
  - - ! '>='
51
53
  - !ruby/object:Gem::Version
52
54
  version: '0'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: !ruby/object:Gem::Requirement
53
58
  none: false
54
- requirement: !ruby/object:Gem::Requirement
55
59
  requirements:
56
60
  - - ! '>='
57
61
  - !ruby/object:Gem::Version
58
62
  version: '0'
59
- none: false
60
- prerelease: false
61
- type: :development
62
63
  - !ruby/object:Gem::Dependency
63
64
  name: kramdown
64
- version_requirements: !ruby/object:Gem::Requirement
65
+ requirement: !ruby/object:Gem::Requirement
66
+ none: false
65
67
  requirements:
66
68
  - - ! '>='
67
69
  - !ruby/object:Gem::Version
68
70
  version: '0'
71
+ type: :development
72
+ prerelease: false
73
+ version_requirements: !ruby/object:Gem::Requirement
69
74
  none: false
70
- requirement: !ruby/object:Gem::Requirement
71
75
  requirements:
72
76
  - - ! '>='
73
77
  - !ruby/object:Gem::Version
74
78
  version: '0'
75
- none: false
76
- prerelease: false
77
- type: :development
78
- description: A JRuby wrapper around codahale's metrics package
79
+ description: A simple JRuby wrapper around codahale's metrics package
79
80
  email:
80
81
  - dan@simple.com
81
82
  executables: []
@@ -83,13 +84,11 @@ extensions: []
83
84
  extra_rdoc_files: []
84
85
  files:
85
86
  - .gitignore
86
- - .rbenv-version
87
87
  - .rspec
88
88
  - Gemfile
89
89
  - LICENSE
90
90
  - README.md
91
91
  - Rakefile
92
- - build
93
92
  - doc/NurseRatched.html
94
93
  - doc/Rdio.html
95
94
  - doc/Samovar.html
@@ -140,28 +139,28 @@ files:
140
139
  - spec/metrics/meter_spec.rb
141
140
  - spec/metrics/timer_spec.rb
142
141
  - spec/spec_helper.rb
143
- homepage: http://github.banksimple.com/dan/simple-metrics
142
+ homepage: https://github.com/SimpleFinance/simple-metrics
144
143
  licenses: []
145
- post_install_message:
144
+ post_install_message:
146
145
  rdoc_options: []
147
146
  require_paths:
148
147
  - lib
149
148
  required_ruby_version: !ruby/object:Gem::Requirement
149
+ none: false
150
150
  requirements:
151
151
  - - ! '>='
152
152
  - !ruby/object:Gem::Version
153
153
  version: '0'
154
- none: false
155
154
  required_rubygems_version: !ruby/object:Gem::Requirement
155
+ none: false
156
156
  requirements:
157
157
  - - ! '>='
158
158
  - !ruby/object:Gem::Version
159
159
  version: '0'
160
- none: false
161
160
  requirements: []
162
- rubyforge_project:
163
- rubygems_version: 1.8.24
164
- signing_key:
161
+ rubyforge_project:
162
+ rubygems_version: 1.8.23
163
+ signing_key:
165
164
  specification_version: 3
166
165
  summary: MEASURE ALL THE THINGS!
167
166
  test_files:
@@ -170,5 +169,4 @@ test_files:
170
169
  - spec/metrics/meter_spec.rb
171
170
  - spec/metrics/timer_spec.rb
172
171
  - spec/spec_helper.rb
173
- has_rdoc:
174
- ...
172
+ has_rdoc:
@@ -1 +0,0 @@
1
- jruby-1.6.7.2
data/build DELETED
@@ -1,10 +0,0 @@
1
- #!/bin/sh
2
-
3
- eval "$(rbenv init -)"
4
-
5
- rm Gemfile.lock
6
-
7
- rbenv shell jruby-1.6.7
8
- bundle install
9
- bundle exec gem build `ls -tr | grep .gemspec | tail -n 1`
10
- gem inabox `ls -tr | grep .gem | tail -n 1`