metriks 0.9.6 → 0.9.7

Sign up to get free protection for your applications and to get access to all the features.
data/lib/metriks.rb CHANGED
@@ -1,6 +1,6 @@
1
1
 
2
2
  module Metriks
3
- VERSION = '0.9.6'
3
+ VERSION = '0.9.7'
4
4
 
5
5
  def self.get(name)
6
6
  Metriks::Registry.default.get(name)
@@ -11,7 +11,7 @@ module Metriks::Reporter
11
11
 
12
12
  @registry = options[:registry] || Metriks::Registry.default
13
13
  @interval = options[:interval] || 60
14
- @on_errror = options[:on_error] || proc { |ex| }
14
+ @on_error = options[:on_error] || proc { |ex| }
15
15
  end
16
16
 
17
17
  def socket
@@ -11,7 +11,7 @@ module Metriks::Reporter
11
11
 
12
12
  @registry = options[:registry] || Metriks::Registry.default
13
13
  @interval = options[:interval] || 60
14
- @on_errror = options[:on_error] || proc { |ex| }
14
+ @on_error = options[:on_error] || proc { |ex| }
15
15
  end
16
16
 
17
17
  def start
@@ -9,7 +9,7 @@ module Metriks::Reporter
9
9
 
10
10
  @registry = options[:registry] || Metriks::Registry.default
11
11
  @interval = options[:interval] || 60
12
- @on_errror = options[:on_error] || proc { |ex| }
12
+ @on_error = options[:on_error] || proc { |ex| }
13
13
  end
14
14
 
15
15
  def start
@@ -5,7 +5,7 @@ module Metriks::Reporter
5
5
  @prefix = options[:prefix] || $0.dup
6
6
 
7
7
  @interval = options[:interval] || 5
8
- @on_errror = options[:on_error] || proc { |ex| }
8
+ @on_error = options[:on_error] || proc { |ex| }
9
9
 
10
10
  @metrics = []
11
11
  end
@@ -29,7 +29,7 @@ module Metriks::Reporter
29
29
  end
30
30
  end
31
31
  rescue Exception => ex
32
- @on_errror[ex] rescue nil
32
+ @on_error[ex] rescue nil
33
33
  end
34
34
  sleep @interval
35
35
  end
data/metriks.gemspec CHANGED
@@ -13,8 +13,8 @@ Gem::Specification.new do |s|
13
13
  ## If your rubyforge_project name is different, then edit it and comment out
14
14
  ## the sub! line in the Rakefile
15
15
  s.name = 'metriks'
16
- s.version = '0.9.6'
17
- s.date = '2012-03-19'
16
+ s.version = '0.9.7'
17
+ s.date = '2012-03-21'
18
18
 
19
19
  ## Make sure your summary is short. The description may be as long
20
20
  ## as you like.
@@ -87,6 +87,7 @@ Gem::Specification.new do |s|
87
87
  test/registry_test.rb
88
88
  test/riemann_reporter_test.rb
89
89
  test/test_helper.rb
90
+ test/thread_error_handling_tests.rb
90
91
  test/timer_test.rb
91
92
  test/utilization_timer_test.rb
92
93
  ]
@@ -1,11 +1,18 @@
1
1
  require 'test_helper'
2
+ require 'thread_error_handling_tests'
2
3
 
3
4
  require 'metriks/reporter/graphite'
4
5
 
5
6
  class GraphiteReporterTest < Test::Unit::TestCase
7
+ include ThreadErrorHandlingTests
8
+
9
+ def build_reporter(options={})
10
+ Metriks::Reporter::Graphite.new('localhost', 3333, { :registry => @registry }.merge(options))
11
+ end
12
+
6
13
  def setup
7
14
  @registry = Metriks::Registry.new
8
- @reporter = Metriks::Reporter::Graphite.new('localhost', 3333, :registry => @registry)
15
+ @reporter = build_reporter
9
16
  @stringio = StringIO.new
10
17
 
11
18
  @reporter.stubs(:socket).returns(@stringio)
@@ -1,11 +1,18 @@
1
1
  require 'test_helper'
2
+ require 'thread_error_handling_tests'
2
3
 
3
4
  require 'metriks/reporter/librato_metrics'
4
5
 
5
6
  class LibratoMetricsReporterTest < Test::Unit::TestCase
7
+ include ThreadErrorHandlingTests
8
+
9
+ def build_reporter(options={})
10
+ Metriks::Reporter::LibratoMetrics.new('user', 'password', { :registry => @registry }.merge(options))
11
+ end
12
+
6
13
  def setup
7
14
  @registry = Metriks::Registry.new
8
- @reporter = Metriks::Reporter::LibratoMetrics.new('user', 'password', :registry => @registry)
15
+ @reporter = build_reporter
9
16
  end
10
17
 
11
18
  def teardown
@@ -1,15 +1,22 @@
1
1
  require 'test_helper'
2
+ require 'thread_error_handling_tests'
2
3
 
3
4
  require 'logger'
4
5
  require 'metriks/reporter/logger'
5
6
 
6
7
  class LoggerReporterTest < Test::Unit::TestCase
8
+ include ThreadErrorHandlingTests
9
+
10
+ def build_reporter(options={})
11
+ Metriks::Reporter::Logger.new({ :registry => @registry, :logger => @logger }.merge(options))
12
+ end
13
+
7
14
  def setup
8
15
  @stringio = StringIO.new
9
16
  @logger = ::Logger.new(@stringio)
10
17
  @registry = Metriks::Registry.new
11
18
 
12
- @reporter = Metriks::Reporter::Logger.new(:registry => @registry, :logger => @logger)
19
+ @reporter = build_reporter
13
20
 
14
21
  @registry.meter('meter.testing').mark
15
22
  @registry.counter('counter.testing').increment
@@ -1,4 +1,5 @@
1
1
  require 'test_helper'
2
+ require 'thread_error_handling_tests'
2
3
 
3
4
  # riemann only works in 1.9
4
5
  if RUBY_VERSION > '1.9'
@@ -6,14 +7,20 @@ if RUBY_VERSION > '1.9'
6
7
  require 'metriks/reporter/riemann'
7
8
 
8
9
  class RiemannReporterTest < Test::Unit::TestCase
9
- def setup
10
- @registry = Metriks::Registry.new
11
- @reporter = Metriks::Reporter::Riemann.new(
10
+ include ThreadErrorHandlingTests
11
+
12
+ def build_reporter(options={})
13
+ Metriks::Reporter::Riemann.new({
12
14
  :host => "foo",
13
15
  :port => 1234,
14
16
  :registry => @registry,
15
17
  :default_event => {:host => "h"}
16
- )
18
+ }.merge(options))
19
+ end
20
+
21
+ def setup
22
+ @registry = Metriks::Registry.new
23
+ @reporter = build_reporter
17
24
  end
18
25
 
19
26
  def teardown
@@ -0,0 +1,20 @@
1
+ module ThreadErrorHandlingTests
2
+ def test_passes_errors_in_thread_loop_to_on_error_handler
3
+ rescued_error = nil
4
+ error_handler_called = false
5
+ reporter = build_reporter(:interval => 0.0001, :on_error => lambda { |e|
6
+ error_handler_called = true
7
+ rescued_error = e
8
+ })
9
+
10
+ reporter.stubs(:write).raises(StandardError, "boom")
11
+
12
+ reporter.start
13
+ sleep 0.002
14
+ assert_equal true, error_handler_called
15
+ assert_equal "boom", rescued_error.message
16
+ ensure
17
+ reporter.stop
18
+ end
19
+ end
20
+
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 9
8
- - 6
9
- version: 0.9.6
8
+ - 7
9
+ version: 0.9.7
10
10
  platform: ruby
11
11
  authors:
12
12
  - Eric Lindvall
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2012-03-19 00:00:00 -07:00
17
+ date: 2012-03-21 00:00:00 -07:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -114,6 +114,7 @@ files:
114
114
  - test/registry_test.rb
115
115
  - test/riemann_reporter_test.rb
116
116
  - test/test_helper.rb
117
+ - test/thread_error_handling_tests.rb
117
118
  - test/timer_test.rb
118
119
  - test/utilization_timer_test.rb
119
120
  has_rdoc: true