rubycut-metriks 0.9.9.6 → 0.9.9.7
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +1 -0
- data/lib/metriks/counter.rb +2 -0
- data/lib/metriks/reporter/opentsdb.rb +2 -0
- data/metriks.gemspec +2 -2
- data/test/opentsdb_metrics_reporter_test.rb +18 -1
- metadata +4 -5
data/Gemfile
CHANGED
data/lib/metriks/counter.rb
CHANGED
@@ -4,6 +4,8 @@ module Metriks
|
|
4
4
|
# Public: Counters are one of the simplest metrics whose only operations
|
5
5
|
# are increment and decrement.
|
6
6
|
class Counter
|
7
|
+
# sometimes I have multiple processes that count values, so I need to reset every time after submit
|
8
|
+
attr_accessor :reset_on_submit
|
7
9
|
# Public: Initialize a new Counter.
|
8
10
|
def initialize
|
9
11
|
@count = Atomic.new(0)
|
@@ -60,6 +60,7 @@ module Metriks::Reporter
|
|
60
60
|
send_metric name, metric, [
|
61
61
|
:count
|
62
62
|
]
|
63
|
+
metric.clear if metric.reset_on_submit
|
63
64
|
when Metriks::Gauge
|
64
65
|
send_metric name, metric, [
|
65
66
|
:value
|
@@ -102,6 +103,7 @@ module Metriks::Reporter
|
|
102
103
|
def send_metric(compound_name, metric, keys, snapshot_keys = [])
|
103
104
|
name, tags = compound_name.split("#")
|
104
105
|
keys.each do |key|
|
106
|
+
puts "put #{name}.#{key} #{Time.now.to_i} #{metric.send(key)} #{tags}"
|
105
107
|
connection.puts("put #{name}.#{key} #{Time.now.to_i} #{metric.send(key)} #{tags}")
|
106
108
|
end
|
107
109
|
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 = 'rubycut-metriks'
|
16
|
-
s.version = '0.9.9.
|
17
|
-
s.date = '2013-
|
16
|
+
s.version = '0.9.9.7'
|
17
|
+
s.date = '2013-05-20'
|
18
18
|
|
19
19
|
## Make sure your summary is short. The description may be as long
|
20
20
|
## as you like.
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
require 'thread_error_handling_tests'
|
3
|
-
|
3
|
+
require 'ruby-debug'
|
4
4
|
require 'metriks/reporter/opentsdb'
|
5
5
|
|
6
6
|
class OpentsdbReporterTest < Test::Unit::TestCase
|
@@ -29,6 +29,7 @@ class OpentsdbReporterTest < Test::Unit::TestCase
|
|
29
29
|
@registry.gauge('gauge.testing#tag=test') { 123 }
|
30
30
|
tcp_socket = mock
|
31
31
|
@reporter.stubs(:connection).returns(tcp_socket)
|
32
|
+
@reporter.stubs(:open_connection).returns(nil)
|
32
33
|
tcp_socket.expects(:puts).at_least_once
|
33
34
|
tcp_socket.expects(:ready?).returns(false)
|
34
35
|
tcp_socket.expects(:close)
|
@@ -36,4 +37,20 @@ class OpentsdbReporterTest < Test::Unit::TestCase
|
|
36
37
|
@reporter.connection.expects(:puts).with("put counter.testing.count #{Time.now.to_i} 1 tag=test")
|
37
38
|
@reporter.write
|
38
39
|
end
|
40
|
+
def test_reset
|
41
|
+
|
42
|
+
counter = @registry.counter('counter.testing#tag=test')
|
43
|
+
counter.increment
|
44
|
+
counter.reset_on_submit = true
|
45
|
+
assert_equal @registry.counter('counter.testing#tag=test').count, 1
|
46
|
+
tcp_socket = mock
|
47
|
+
@reporter.stubs(:connection).returns(tcp_socket)
|
48
|
+
tcp_socket.expects(:puts).at_least_once
|
49
|
+
tcp_socket.expects(:ready?).returns(false)
|
50
|
+
tcp_socket.expects(:close)
|
51
|
+
|
52
|
+
@reporter.stubs(:open_connection).returns(nil)
|
53
|
+
@reporter.write
|
54
|
+
assert_equal @registry.counter('counter.testing#tag=test').count, 0
|
55
|
+
end
|
39
56
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubycut-metriks
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 45
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 9
|
9
9
|
- 9
|
10
|
-
-
|
11
|
-
version: 0.9.9.
|
10
|
+
- 7
|
11
|
+
version: 0.9.9.7
|
12
12
|
platform: ruby
|
13
13
|
authors:
|
14
14
|
- Eric Lindvall
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2013-
|
19
|
+
date: 2013-05-20 00:00:00 Z
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
22
|
name: atomic
|
@@ -177,4 +177,3 @@ test_files:
|
|
177
177
|
- test/timer_test.rb
|
178
178
|
- test/utilization_timer_test.rb
|
179
179
|
- test/opentsdb_metrics_reporter_test.rb
|
180
|
-
has_rdoc:
|