fozzie 0.0.4 → 0.0.5
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/fozzie/classes.rb +9 -7
- data/lib/fozzie/version.rb +1 -1
- data/spec/lib/fozzie_spec.rb +18 -10
- metadata +14 -14
data/lib/fozzie/classes.rb
CHANGED
@@ -13,13 +13,7 @@ module Fozzie
|
|
13
13
|
|
14
14
|
def time_to_do(stat, sample_rate=1, &block); time_for(stat, sample_rate, &block); end
|
15
15
|
def time_for(stat, sample_rate=1, &block)
|
16
|
-
|
17
|
-
begin
|
18
|
-
res = time(stat, sample_rate, &block)
|
19
|
-
rescue SocketError => exc
|
20
|
-
puts exc.message
|
21
|
-
res
|
22
|
-
end
|
16
|
+
time(stat, sample_rate, &block)
|
23
17
|
end
|
24
18
|
|
25
19
|
def committed; commit; end
|
@@ -42,6 +36,14 @@ module Fozzie
|
|
42
36
|
def event(type)
|
43
37
|
timing "event.#{type.to_s}", Time.now.usec
|
44
38
|
end
|
39
|
+
|
40
|
+
def send_to_socket(message)
|
41
|
+
begin
|
42
|
+
super(message)
|
43
|
+
rescue SocketError => exc
|
44
|
+
nil
|
45
|
+
end
|
46
|
+
end
|
45
47
|
|
46
48
|
end
|
47
49
|
|
data/lib/fozzie/version.rb
CHANGED
data/spec/lib/fozzie_spec.rb
CHANGED
@@ -5,18 +5,18 @@ describe Fozzie do
|
|
5
5
|
|
6
6
|
it { should respond_to(:c) }
|
7
7
|
it { should respond_to(:config) }
|
8
|
-
|
8
|
+
|
9
9
|
it "has configuration" do
|
10
10
|
Fozzie.config.should be_kind_of(Fozzie::Configuration)
|
11
11
|
Fozzie.c.should be_kind_of(Fozzie::Configuration)
|
12
12
|
end
|
13
|
-
|
13
|
+
|
14
14
|
it "creates new classes for statistics gathering" do
|
15
15
|
Fozzie::Classes::NAMESPACES.each do |k|
|
16
16
|
Kernel.const_defined?(k).should == true
|
17
17
|
end
|
18
18
|
end
|
19
|
-
|
19
|
+
|
20
20
|
it "acts like its inherited parent" do
|
21
21
|
Fozzie::Classes::NAMESPACES.each do |k|
|
22
22
|
kl = Kernel.const_get(k)
|
@@ -27,36 +27,36 @@ describe Fozzie do
|
|
27
27
|
kl.should respond_to(:time)
|
28
28
|
end
|
29
29
|
end
|
30
|
-
|
30
|
+
|
31
31
|
it "acts an a singleton" do
|
32
32
|
Fozzie::Classes::NAMESPACES.each do |k|
|
33
33
|
kl1, kl2 = Kernel.const_get(k), Kernel.const_get(k)
|
34
34
|
kl1.should == kl2
|
35
35
|
end
|
36
36
|
end
|
37
|
-
|
37
|
+
|
38
38
|
it "assigns namespace when passed" do
|
39
39
|
Fozzie::AbstractFozzie.new(1,2, 'a').namespace.should == 'a'
|
40
40
|
end
|
41
|
-
|
41
|
+
|
42
42
|
it "times a given block" do
|
43
43
|
Stats.expects(:timing).with() {|b, val, timing| b == 'data.bin' && (1000..1200).include?(val) }.twice
|
44
44
|
Stats.time_for('data.bin') { sleep 1 }
|
45
45
|
Stats.time_to_do('data.bin') { sleep 1 }
|
46
46
|
end
|
47
|
-
|
47
|
+
|
48
48
|
it "registers a commit" do
|
49
49
|
Stats.expects(:timing).with('event.commit', anything).twice
|
50
50
|
Stats.commit
|
51
51
|
Stats.committed
|
52
52
|
end
|
53
|
-
|
53
|
+
|
54
54
|
it "registers a build" do
|
55
55
|
Stats.expects(:timing).with('event.build', anything).twice
|
56
56
|
Stats.build
|
57
57
|
Stats.built
|
58
58
|
end
|
59
|
-
|
59
|
+
|
60
60
|
it "registers a deploy" do
|
61
61
|
Stats.expects(:timing).with('event.deploy', anything).twice
|
62
62
|
Stats.deploy
|
@@ -64,7 +64,7 @@ describe Fozzie do
|
|
64
64
|
end
|
65
65
|
|
66
66
|
it "ensures block is called on socket error" do
|
67
|
-
|
67
|
+
UDPSocket.any_instance.stubs(:send).raises(SocketError)
|
68
68
|
proc { Stats.time_for('data.bin') { sleep 1 } }.should_not raise_error
|
69
69
|
proc { Stats.time_to_do('data.bin') { sleep 1 } }.should_not raise_error
|
70
70
|
end
|
@@ -72,5 +72,13 @@ describe Fozzie do
|
|
72
72
|
it "raises exception if natural exception from block" do
|
73
73
|
proc { Stats.time_for('data.bin') { raise ArgumentError, "testing" } }.should raise_error(ArgumentError)
|
74
74
|
end
|
75
|
+
|
76
|
+
it "only calls the block once on SocketError" do
|
77
|
+
UDPSocket.any_instance.stubs(:send).raises(SocketError)
|
78
|
+
i = 0
|
79
|
+
p = proc {|n| (n + 1) }
|
80
|
+
val = Stats.time_for('data.bin') { i+= p.call(i) }
|
81
|
+
val.should == 1
|
82
|
+
end
|
75
83
|
|
76
84
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fozzie
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-01-
|
12
|
+
date: 2012-01-06 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: statsd-ruby
|
16
|
-
requirement: &
|
16
|
+
requirement: &70172749402340 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70172749402340
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rake
|
27
|
-
requirement: &
|
27
|
+
requirement: &70172749401920 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70172749401920
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rspec
|
38
|
-
requirement: &
|
38
|
+
requirement: &70172749401240 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70172749401240
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: mocha
|
49
|
-
requirement: &
|
49
|
+
requirement: &70172749400660 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70172749400660
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: simplecov
|
60
|
-
requirement: &
|
60
|
+
requirement: &70172749400240 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,7 +65,7 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70172749400240
|
69
69
|
description: Gem allows statistics gathering from Ruby and Ruby on Rails applications
|
70
70
|
to Statsd
|
71
71
|
email:
|
@@ -108,7 +108,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
108
108
|
version: '0'
|
109
109
|
segments:
|
110
110
|
- 0
|
111
|
-
hash:
|
111
|
+
hash: -3461329709865678557
|
112
112
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
113
113
|
none: false
|
114
114
|
requirements:
|
@@ -117,7 +117,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
117
117
|
version: '0'
|
118
118
|
segments:
|
119
119
|
- 0
|
120
|
-
hash:
|
120
|
+
hash: -3461329709865678557
|
121
121
|
requirements: []
|
122
122
|
rubyforge_project: fozzie
|
123
123
|
rubygems_version: 1.8.10
|