metriks 0.9.0 → 0.9.1

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/lib/metriks.rb CHANGED
@@ -1,6 +1,6 @@
1
1
 
2
2
  module Metriks
3
- VERSION = '0.9.0'
3
+ VERSION = '0.9.1'
4
4
 
5
5
  def self.get(name)
6
6
  Metriks::Registry.default.get(name)
@@ -24,4 +24,4 @@ module Metriks
24
24
  end
25
25
 
26
26
  require 'metriks/registry'
27
- require 'metriks/reporter/proc_title'
27
+ require 'metriks/reporter/proc_title'
@@ -2,9 +2,11 @@
2
2
  module Metriks::Reporter
3
3
  class Graphite
4
4
  def initialize(host, port, options = {})
5
- @host = host
6
- @port = port
7
- @prefix = options[:prefix]
5
+ @host = host
6
+ @port = port
7
+
8
+ @prefix = options[:prefix]
9
+
8
10
  @registry = options[:registry] || Metriks::Registry.default
9
11
  @interval = options[:interval] || 60
10
12
  @on_errror = options[:on_error] || proc { |ex| }
@@ -36,6 +38,11 @@ module Metriks::Reporter
36
38
  @thread = nil
37
39
  end
38
40
 
41
+ def restart
42
+ stop
43
+ start
44
+ end
45
+
39
46
  def write
40
47
  @registry.each do |name, metric|
41
48
  case metric
@@ -19,13 +19,15 @@ module Metriks::Reporter
19
19
 
20
20
 
21
21
  def initialize(email, token, options = {})
22
- @email = email
23
- @token = token
24
- @prefix = options[:prefix]
22
+ @email = email
23
+ @token = token
24
+
25
+ @prefix = options[:prefix]
26
+ @source = options[:source]
27
+
25
28
  @registry = options[:registry] || Metriks::Registry.default
26
29
  @interval = options[:interval] || 60
27
30
  @on_errror = options[:on_error] || proc { |ex| }
28
- @source = options[:source]
29
31
  end
30
32
 
31
33
  def start
@@ -49,6 +51,11 @@ module Metriks::Reporter
49
51
  @thread = nil
50
52
  end
51
53
 
54
+ def restart
55
+ stop
56
+ start
57
+ end
58
+
52
59
  def write
53
60
  gauges = []
54
61
  @registry.each do |name, metric|
@@ -3,12 +3,13 @@ require 'logger'
3
3
  module Metriks::Reporter
4
4
  class Logger
5
5
  def initialize(options = {})
6
- @registry = options[:registry] || Metriks::Registry.default
7
6
  @logger = options[:logger] || ::Logger.new(STDOUT)
8
7
  @log_level = options[:log_level] || ::Logger::INFO
9
8
  @prefix = options[:prefix] || 'metriks:'
10
- @interval = options[:interval] || 60
11
- @on_errror = options[:on_error] || proc { |ex| }
9
+
10
+ @registry = options[:registry] || Metriks::Registry.default
11
+ @interval = options[:interval] || 60
12
+ @on_errror = options[:on_error] || proc { |ex| }
12
13
  end
13
14
 
14
15
  def start
@@ -32,7 +33,20 @@ module Metriks::Reporter
32
33
  @thread = nil
33
34
  end
34
35
 
36
+ def restart
37
+ stop
38
+ start
39
+ end
40
+
41
+ def flush
42
+ if !@last_write || @last_write.min != Time.now.min
43
+ write
44
+ end
45
+ end
46
+
35
47
  def write
48
+ @last_write = Time.now
49
+
36
50
  @registry.each do |name, metric|
37
51
  case metric
38
52
  when Metriks::Meter
@@ -1,11 +1,12 @@
1
1
  module Metriks::Reporter
2
2
  class ProcTitle
3
3
  def initialize(options = {})
4
+ @rounding = options[:rounding] || 1
5
+ @prefix = options[:prefix] || $0.dup
6
+
4
7
  @interval = options[:interval] || 5
5
- @rounding = options[:rounding] || 1
6
8
  @on_errror = options[:on_error] || proc { |ex| }
7
9
 
8
- @prefix = $0.dup
9
10
  @metrics = []
10
11
  end
11
12
 
@@ -40,6 +41,11 @@ module Metriks::Reporter
40
41
  @thread = nil
41
42
  end
42
43
 
44
+ def restart
45
+ stop
46
+ start
47
+ end
48
+
43
49
  protected
44
50
  def generate_title
45
51
  @metrics.collect do |name, suffix, block|
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.0'
17
- s.date = '2012-03-03'
16
+ s.version = '0.9.1'
17
+ s.date = '2012-03-06'
18
18
 
19
19
  ## Make sure your summary is short. The description may be as long
20
20
  ## as you like.
@@ -10,6 +10,11 @@ class LoggerReporterTest < Test::Unit::TestCase
10
10
  @registry = Metriks::Registry.new
11
11
 
12
12
  @reporter = Metriks::Reporter::Logger.new(:registry => @registry, :logger => @logger)
13
+
14
+ @registry.meter('meter.testing').mark
15
+ @registry.counter('counter.testing').increment
16
+ @registry.timer('timer.testing').update(1.5)
17
+ @registry.utilization_timer('utilization_timer.testing').update(1.5)
13
18
  end
14
19
 
15
20
  def teardown
@@ -18,14 +23,16 @@ class LoggerReporterTest < Test::Unit::TestCase
18
23
  end
19
24
 
20
25
  def test_write
21
- @registry.meter('meter.testing').mark
22
- @registry.counter('counter.testing').increment
23
- @registry.timer('timer.testing').update(1.5)
24
- @registry.utilization_timer('utilization_timer.testing').update(1.5)
25
-
26
26
  @reporter.write
27
27
 
28
28
  assert_match /time=\d/, @stringio.string
29
29
  assert_match /median=\d/, @stringio.string
30
30
  end
31
+
32
+ def test_flush
33
+ @reporter.flush
34
+
35
+ assert_match /time=\d/, @stringio.string
36
+ assert_match /median=\d/, @stringio.string
37
+ end
31
38
  end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 9
8
- - 0
9
- version: 0.9.0
8
+ - 1
9
+ version: 0.9.1
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-03 00:00:00 -08:00
17
+ date: 2012-03-06 00:00:00 -08:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency