gauss 0.0.3 → 0.0.4
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/Rakefile +9 -0
- data/lib/gauss.rb +2 -0
- data/lib/gauss/version.rb +1 -1
- data/test/gauss_test.rb +147 -0
- data/test/string_test.rb +11 -0
- data/test/test_helper.rb +16 -0
- metadata +36 -14
- checksums.yaml +0 -7
data/Rakefile
CHANGED
data/lib/gauss.rb
CHANGED
data/lib/gauss/version.rb
CHANGED
data/test/gauss_test.rb
ADDED
@@ -0,0 +1,147 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
describe Gauss do
|
4
|
+
before do
|
5
|
+
reset_gauss
|
6
|
+
|
7
|
+
class T
|
8
|
+
include Gauss
|
9
|
+
include Tester
|
10
|
+
end
|
11
|
+
|
12
|
+
Gauss::mode = :local
|
13
|
+
end
|
14
|
+
|
15
|
+
after do
|
16
|
+
Object.send(:remove_const, :T) rescue nil
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'asserts true' do
|
20
|
+
true.must_equal true
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'uses rails app name as prefix' do
|
24
|
+
class Gauss::Rails
|
25
|
+
def self.application
|
26
|
+
App.new
|
27
|
+
end
|
28
|
+
|
29
|
+
class App
|
30
|
+
def self.parent_name
|
31
|
+
return "test_app"
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
class T
|
37
|
+
include Gauss
|
38
|
+
end
|
39
|
+
|
40
|
+
T.new.prefix.must_equal "test_app"
|
41
|
+
|
42
|
+
# cleanup
|
43
|
+
Gauss.send(:remove_const, :Rails)
|
44
|
+
end
|
45
|
+
|
46
|
+
it 'lets you override the prefix' do
|
47
|
+
Gauss::benchmark_prefix = "test_prefix"
|
48
|
+
Gauss::prefix.must_equal "test_prefix"
|
49
|
+
end
|
50
|
+
|
51
|
+
it 'executes code in the given block' do
|
52
|
+
class TestException < StandardError; end
|
53
|
+
|
54
|
+
class T
|
55
|
+
def test
|
56
|
+
benchmark {
|
57
|
+
raise TestException
|
58
|
+
}
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
assert_raises(TestException) {
|
63
|
+
T.new.test
|
64
|
+
}
|
65
|
+
end
|
66
|
+
|
67
|
+
it 'outputs timing in local mode' do
|
68
|
+
class T
|
69
|
+
def test
|
70
|
+
benchmark {
|
71
|
+
1+1
|
72
|
+
}
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
out, _ = capture_io { T.new.test }
|
77
|
+
assert_match /t\.test/, out
|
78
|
+
end
|
79
|
+
|
80
|
+
it 'uses optional suffix for the name' do
|
81
|
+
class T
|
82
|
+
def test
|
83
|
+
benchmark("test_suffix") {
|
84
|
+
1+1
|
85
|
+
}
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
out, _ = capture_io { T.new.test }
|
90
|
+
assert_match /t\.test.*test_suffix/, out
|
91
|
+
end
|
92
|
+
|
93
|
+
it 'doesnt output anything if not in localmode' do
|
94
|
+
Gauss::mode = :non_local
|
95
|
+
class T
|
96
|
+
def test
|
97
|
+
benchmark("test_suffix") {
|
98
|
+
1+1
|
99
|
+
}
|
100
|
+
end
|
101
|
+
end
|
102
|
+
|
103
|
+
out, _ = capture_io { T.new.test }
|
104
|
+
out.must_equal ""
|
105
|
+
end
|
106
|
+
|
107
|
+
it 'calls metrics.time when not in localmode' do
|
108
|
+
class O
|
109
|
+
def time(_, &__)
|
110
|
+
"test_worked"
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
114
|
+
Gauss::mode = :non_local
|
115
|
+
Gauss::metrics = O.new
|
116
|
+
class T
|
117
|
+
def test
|
118
|
+
benchmark {
|
119
|
+
1+1
|
120
|
+
}
|
121
|
+
end
|
122
|
+
end
|
123
|
+
|
124
|
+
T.new.test.must_equal "test_worked"
|
125
|
+
Object.send(:remove_const, :O) rescue nil
|
126
|
+
end
|
127
|
+
|
128
|
+
it 'uses statsd with envvars by default' do
|
129
|
+
old_server = ENV["STATSD_SERVER"]
|
130
|
+
old_port = ENV["STATSD_SERVER_PORT"]
|
131
|
+
ENV["STATSD_SERVER"] = "test_server"
|
132
|
+
ENV["STATSD_SERVER_PORT"] = "test_port"
|
133
|
+
|
134
|
+
reset_gauss
|
135
|
+
class T
|
136
|
+
include Gauss
|
137
|
+
end
|
138
|
+
|
139
|
+
begin
|
140
|
+
Gauss::metrics.host.must_equal "test_server"
|
141
|
+
Gauss::metrics.port.must_equal "test_port"
|
142
|
+
ensure
|
143
|
+
ENV["STATSD_SERVER"] = old_server
|
144
|
+
ENV["STATSD_SERVER_PORT"] = old_port
|
145
|
+
end
|
146
|
+
end
|
147
|
+
end
|
data/test/string_test.rb
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
describe Gauss::Strings do
|
4
|
+
it "underscores" do
|
5
|
+
Gauss::Strings::underscore("ThisThing").must_equal "this_thing"
|
6
|
+
Gauss::Strings::underscore("ThisOtherThing").must_equal "this_other_thing"
|
7
|
+
Gauss::Strings::underscore("T1Thing").must_equal "t1_thing"
|
8
|
+
Gauss::Strings::underscore("TTThing").must_equal "tt_thing"
|
9
|
+
Gauss::Strings::underscore("TTiThing").must_equal "t_ti_thing"
|
10
|
+
end
|
11
|
+
end
|
data/test/test_helper.rb
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'minitest/spec'
|
2
|
+
require 'minitest/autorun'
|
3
|
+
require 'gauss'
|
4
|
+
require 'ostruct'
|
5
|
+
|
6
|
+
module Tester
|
7
|
+
def method_missing(meth, *args)
|
8
|
+
Gauss.send(meth)
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
def reset_gauss
|
13
|
+
Gauss::prefix = nil
|
14
|
+
Gauss::metrics = nil
|
15
|
+
Gauss::mode = nil
|
16
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gauss
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Alejandro Ciniglio
|
@@ -9,11 +10,12 @@ authors:
|
|
9
10
|
autorequire:
|
10
11
|
bindir: bin
|
11
12
|
cert_chain: []
|
12
|
-
date: 2013-07-
|
13
|
+
date: 2013-07-24 00:00:00.000000000 Z
|
13
14
|
dependencies:
|
14
15
|
- !ruby/object:Gem::Dependency
|
15
16
|
name: bundler
|
16
17
|
requirement: !ruby/object:Gem::Requirement
|
18
|
+
none: false
|
17
19
|
requirements:
|
18
20
|
- - ~>
|
19
21
|
- !ruby/object:Gem::Version
|
@@ -21,6 +23,7 @@ dependencies:
|
|
21
23
|
type: :development
|
22
24
|
prerelease: false
|
23
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
none: false
|
24
27
|
requirements:
|
25
28
|
- - ~>
|
26
29
|
- !ruby/object:Gem::Version
|
@@ -28,43 +31,49 @@ dependencies:
|
|
28
31
|
- !ruby/object:Gem::Dependency
|
29
32
|
name: rake
|
30
33
|
requirement: !ruby/object:Gem::Requirement
|
34
|
+
none: false
|
31
35
|
requirements:
|
32
|
-
- - '>='
|
36
|
+
- - ! '>='
|
33
37
|
- !ruby/object:Gem::Version
|
34
38
|
version: '0'
|
35
39
|
type: :development
|
36
40
|
prerelease: false
|
37
41
|
version_requirements: !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
38
43
|
requirements:
|
39
|
-
- - '>='
|
44
|
+
- - ! '>='
|
40
45
|
- !ruby/object:Gem::Version
|
41
46
|
version: '0'
|
42
47
|
- !ruby/object:Gem::Dependency
|
43
48
|
name: pry
|
44
49
|
requirement: !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
45
51
|
requirements:
|
46
|
-
- - '>='
|
52
|
+
- - ! '>='
|
47
53
|
- !ruby/object:Gem::Version
|
48
54
|
version: '0'
|
49
55
|
type: :development
|
50
56
|
prerelease: false
|
51
57
|
version_requirements: !ruby/object:Gem::Requirement
|
58
|
+
none: false
|
52
59
|
requirements:
|
53
|
-
- - '>='
|
60
|
+
- - ! '>='
|
54
61
|
- !ruby/object:Gem::Version
|
55
62
|
version: '0'
|
56
63
|
- !ruby/object:Gem::Dependency
|
57
64
|
name: statsd-ruby
|
58
65
|
requirement: !ruby/object:Gem::Requirement
|
66
|
+
none: false
|
59
67
|
requirements:
|
60
|
-
- - '>='
|
68
|
+
- - ! '>='
|
61
69
|
- !ruby/object:Gem::Version
|
62
70
|
version: '0'
|
63
71
|
type: :runtime
|
64
72
|
prerelease: false
|
65
73
|
version_requirements: !ruby/object:Gem::Requirement
|
74
|
+
none: false
|
66
75
|
requirements:
|
67
|
-
- - '>='
|
76
|
+
- - ! '>='
|
68
77
|
- !ruby/object:Gem::Version
|
69
78
|
version: '0'
|
70
79
|
description: Easy statsd metrics at the method level
|
@@ -82,28 +91,41 @@ files:
|
|
82
91
|
- gauss.gemspec
|
83
92
|
- lib/gauss.rb
|
84
93
|
- lib/gauss/version.rb
|
94
|
+
- test/gauss_test.rb
|
95
|
+
- test/string_test.rb
|
96
|
+
- test/test_helper.rb
|
85
97
|
homepage: http://github.com/adaptly/gauss
|
86
98
|
licenses:
|
87
99
|
- MIT
|
88
|
-
metadata: {}
|
89
100
|
post_install_message:
|
90
101
|
rdoc_options: []
|
91
102
|
require_paths:
|
92
103
|
- lib
|
93
104
|
required_ruby_version: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
94
106
|
requirements:
|
95
|
-
- - '>='
|
107
|
+
- - ! '>='
|
96
108
|
- !ruby/object:Gem::Version
|
97
109
|
version: '0'
|
110
|
+
segments:
|
111
|
+
- 0
|
112
|
+
hash: -2838724056170217821
|
98
113
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
114
|
+
none: false
|
99
115
|
requirements:
|
100
|
-
- - '>='
|
116
|
+
- - ! '>='
|
101
117
|
- !ruby/object:Gem::Version
|
102
118
|
version: '0'
|
119
|
+
segments:
|
120
|
+
- 0
|
121
|
+
hash: -2838724056170217821
|
103
122
|
requirements: []
|
104
123
|
rubyforge_project:
|
105
|
-
rubygems_version:
|
124
|
+
rubygems_version: 1.8.23
|
106
125
|
signing_key:
|
107
|
-
specification_version:
|
126
|
+
specification_version: 3
|
108
127
|
summary: Uses smart defaults for statsd timers
|
109
|
-
test_files:
|
128
|
+
test_files:
|
129
|
+
- test/gauss_test.rb
|
130
|
+
- test/string_test.rb
|
131
|
+
- test/test_helper.rb
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: 4a5a934628f0eaab6d8a015ef4482c76e13de451
|
4
|
-
data.tar.gz: a045b03de88b8d5d4c47541d9238b5056bf15be2
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: 1e8ef2f96cb3bc2296eae76d790e60d2cdc8a7844c9a954f6501f4b50e16420293faae7845d4179cffb53b53bb5e4559c73b83cead6f5236d62d092568dc0aa7
|
7
|
-
data.tar.gz: 552e23c79f700c22ea8d1df1e8bf642d33c20804fa85f47b737647664ff45a90fbaa136f86546876ebd673b91e39696e69b880267b3a5417be0f06b012a5235c
|