jruby-rack-metrics 0.0.2 → 0.0.3

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
@@ -48,6 +48,5 @@ Original author: Thomas Dudziak
48
48
  License
49
49
  -------
50
50
 
51
- Apache License version 2.0. See the LICENSE-2.0.txt file for the full
52
- license.
51
+ Apache License version 2.0. See the LICENSE.txt file for the full license.
53
52
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.2
1
+ 0.0.3
@@ -0,0 +1,58 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{jruby-rack-metrics}
8
+ s.version = "0.0.3"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Thomas Dudziak"]
12
+ s.date = %q{2011-09-15}
13
+ s.description = %q{A simple rack app wrapper that gathers request metrics using Coda Hale's metrics library}
14
+ s.email = %q{tomdzk@gmail.com}
15
+ s.extra_rdoc_files = [
16
+ "LICENSE.txt",
17
+ "README.md"
18
+ ]
19
+ s.files = [
20
+ ".document",
21
+ "LICENSE.txt",
22
+ "README.md",
23
+ "Rakefile",
24
+ "VERSION",
25
+ "jruby-rack-metrics.gemspec",
26
+ "lib/jruby-rack-metrics.rb"
27
+ ]
28
+ s.homepage = %q{http://github.com/tomdz/jruby-rack-metrics}
29
+ s.licenses = ["ASL 2.0"]
30
+ s.require_paths = ["lib"]
31
+ s.rubygems_version = %q{1.5.1}
32
+ s.summary = %q{Metrics for jruby rack apps}
33
+
34
+ if s.respond_to? :specification_version then
35
+ s.specification_version = 3
36
+
37
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
38
+ s.add_runtime_dependency(%q<rack>, ["~> 1.1"])
39
+ s.add_development_dependency(%q<shoulda>, [">= 0"])
40
+ s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
41
+ s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
42
+ s.add_development_dependency(%q<rcov>, [">= 0"])
43
+ else
44
+ s.add_dependency(%q<rack>, ["~> 1.1"])
45
+ s.add_dependency(%q<shoulda>, [">= 0"])
46
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
47
+ s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
48
+ s.add_dependency(%q<rcov>, [">= 0"])
49
+ end
50
+ else
51
+ s.add_dependency(%q<rack>, ["~> 1.1"])
52
+ s.add_dependency(%q<shoulda>, [">= 0"])
53
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
54
+ s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
55
+ s.add_dependency(%q<rcov>, [">= 0"])
56
+ end
57
+ end
58
+
@@ -3,6 +3,12 @@ require 'uri'
3
3
  require 'java'
4
4
  require 'rack'
5
5
 
6
+ java_import 'java.lang.System'
7
+ java_import 'java.util.concurrent.TimeUnit'
8
+ java_import 'com.yammer.metrics.Metrics'
9
+ java_import 'com.yammer.metrics.core.MetricName'
10
+ java_import 'com.yammer.metrics.reporting.JmxReporter'
11
+
6
12
  module JrubyRackMetrics
7
13
  class Monitor
8
14
  attr_reader :options
@@ -10,31 +16,31 @@ module JrubyRackMetrics
10
16
  def initialize(app, opts = {})
11
17
  @app = app
12
18
  @options = default_options.merge(opts)
13
- @timing_unit = java.util.concurrent.TimeUnit::NANOSECONDS
19
+ @timing_unit = TimeUnit::NANOSECONDS
14
20
  if @options[:jmx_enabled]
15
- com.yammer.metrics.reporting.JmxReporter.startDefault(metrics_registry)
21
+ JmxReporter.startDefault(metrics_registry)
16
22
  end
17
23
  end
18
24
 
19
25
  def default_options
20
- { :default_duration_unit => java.util.concurrent.TimeUnit::MILLISECONDS,
21
- :default_rate_unit => java.util.concurrent.TimeUnit::SECONDS,
26
+ { :default_duration_unit => TimeUnit::MILLISECONDS,
27
+ :default_rate_unit => TimeUnit::SECONDS,
22
28
  :jmx_enabled => false }
23
29
  end
24
30
 
25
31
  def metrics_registry
26
- @options[:metrics_registry] ||= com.yammer.metrics.core.MetricsRegistry.new
32
+ @options[:metrics_registry] ||= Metrics.defaultRegistry
27
33
  end
28
34
 
29
35
  def call(env = nil)
30
36
  if env.nil?
31
37
  @app.call(env)
32
38
  else
33
- start_time = java.lang.System.nanoTime()
39
+ start_time = System.nanoTime()
34
40
  begin
35
41
  status, headers, body = @app.call(env)
36
42
  ensure
37
- elapsed = java.lang.System.nanoTime() - start_time
43
+ elapsed = System.nanoTime() - start_time
38
44
  # some web servers give us the full url, some only the path part
39
45
  uri = URI.parse(env['REQUEST_URI'])
40
46
  if defined? uri.path && !uri.path.nil?
@@ -46,7 +52,7 @@ module JrubyRackMetrics
46
52
  end
47
53
  type = env['REQUEST_METHOD'].downcase
48
54
  name = (status || 500).to_s
49
- metric_name = com.yammer.metrics.core.MetricName.new(group, type, name)
55
+ metric_name = MetricName.new(group, type, name)
50
56
  metrics_registry.newTimer(metric_name,
51
57
  @options[:default_duration_unit],
52
58
  @options[:default_rate_unit]).update(elapsed, @timing_unit)
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: jruby-rack-metrics
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.2
5
+ version: 0.0.3
6
6
  platform: ruby
7
7
  authors:
8
8
  - Thomas Dudziak
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-09-13 00:00:00 -07:00
13
+ date: 2011-09-15 00:00:00 -07:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -83,6 +83,7 @@ files:
83
83
  - README.md
84
84
  - Rakefile
85
85
  - VERSION
86
+ - jruby-rack-metrics.gemspec
86
87
  - lib/jruby-rack-metrics.rb
87
88
  has_rdoc: true
88
89
  homepage: http://github.com/tomdz/jruby-rack-metrics