jruby-rack-metrics 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
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