instrumental_agent 0.9.11 → 0.10.0

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/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ ### 0.10.0 [July 6th, 2012]
2
+ * Remove test mode
3
+
1
4
  ### 0.9.11 [July 6th, 2012]
2
5
  * Allow at_exit handler to be called manually for better Resque integration
3
6
  * Improved error logging
@@ -88,14 +88,12 @@ module Instrumental
88
88
  # host: instrumentalapp.com
89
89
  # port: 8000
90
90
  # enabled: true
91
- # test_mode: false
92
91
  # synchronous: false
93
92
  @api_key = api_key
94
93
  @host, @port = options[:collector].to_s.split(':')
95
94
  @host ||= 'instrumentalapp.com'
96
95
  @port = (@port || 8000).to_i
97
96
  @enabled = options.has_key?(:enabled) ? !!options[:enabled] : true
98
- @test_mode = !!options[:test_mode]
99
97
  @synchronous = !!options[:synchronous]
100
98
  @pid = Process.pid
101
99
  @allow_reconnect = true
@@ -360,7 +358,7 @@ module Instrumental
360
358
  logger.info "connecting to collector"
361
359
  @socket = with_timeout(CONNECT_TIMEOUT) { TCPSocket.new(host, port) }
362
360
  logger.info "connected to collector at #{host}:#{port}"
363
- send_with_reply_timeout "hello version #{Instrumental::VERSION} test_mode #{@test_mode}"
361
+ send_with_reply_timeout "hello version #{Instrumental::VERSION} hostname #{Socket.gethostname}"
364
362
  send_with_reply_timeout "authenticate #{@api_key}"
365
363
  @failures = 0
366
364
  loop do
@@ -1,3 +1,3 @@
1
1
  module Instrumental
2
- VERSION = '0.9.11'
2
+ VERSION = '0.10.0'
3
3
  end
data/spec/agent_spec.rb CHANGED
@@ -50,119 +50,6 @@ describe Instrumental::Agent, "disabled" do
50
50
  end
51
51
  end
52
52
 
53
- describe Instrumental::Agent, "enabled in test_mode" do
54
- before(:each) do
55
- @server = TestServer.new
56
- @agent = Instrumental::Agent.new('test_token', :collector => @server.host_and_port, :test_mode => true)
57
- end
58
-
59
- after(:each) do
60
- @agent.stop
61
- @agent = nil
62
- @server.stop
63
- end
64
-
65
- it "should not connect to the server" do
66
- wait
67
- @server.connect_count.should == 0
68
- end
69
-
70
- it "should connect to the server when the user sends a metric" do
71
- @agent.increment("test.foo")
72
- wait
73
- @server.connect_count.should == 1
74
- end
75
-
76
- it "should announce itself, and include version and test_mode flag" do
77
- @agent.increment("test.foo")
78
- wait
79
- @server.commands[0].should =~ /hello .*version .*test_mode true/
80
- end
81
-
82
- it "should authenticate using the token" do
83
- @agent.increment("test.foo")
84
- wait
85
- @server.commands[1].should == "authenticate test_token"
86
- end
87
-
88
- it "should report a gauge" do
89
- now = Time.now
90
- @agent.gauge('gauge_test', 123)
91
- wait
92
- @server.commands.last.should == "gauge gauge_test 123 #{now.to_i}"
93
- end
94
-
95
- it "should report a time as gauge and return the block result" do
96
- now = Time.now
97
- @agent.time("time_value_test") do
98
- sleep 0.1
99
- 1 + 1
100
- end.should == 2
101
- wait
102
- @server.commands.last.should =~ /gauge time_value_test .* #{now.to_i}/
103
- time = @server.commands.last.scan(/gauge time_value_test (.*) #{now.to_i}/)[0][0].to_f
104
- time.should > 0.1
105
- end
106
-
107
- it "should allow a block used in .time to throw an exception and still be timed" do
108
- now = Time.now
109
- lambda {
110
- @agent.time("time_value_test") do
111
- sleep 0.1
112
- throw :an_exception
113
- sleep 1
114
- end
115
- }.should raise_error
116
- wait
117
- @server.commands.last.should =~ /gauge time_value_test .* #{now.to_i}/
118
- time = @server.commands.last.scan(/gauge time_value_test (.*) #{now.to_i}/)[0][0].to_f
119
- time.should > 0.1
120
- end
121
-
122
- it "should report a time as a millisecond gauge and return the block result" do
123
- now = Time.now
124
- @agent.time_ms("time_ms_test") do
125
- sleep 0.1
126
- 1 + 1
127
- end.should == 2
128
- wait
129
- @server.commands.last.should =~ /gauge time_ms_test .* #{now.to_i}/
130
- time = @server.commands.last.scan(/gauge time_ms_test (.*) #{now.to_i}/)[0][0].to_f
131
- time.should > 100.0
132
- end
133
-
134
- it "should report an increment" do
135
- now = Time.now
136
- @agent.increment("increment_test")
137
- wait
138
- @server.commands.last.should == "increment increment_test 1 #{now.to_i}"
139
- end
140
-
141
- it "should send notices to the server" do
142
- tm = Time.now
143
- @agent.notice("Test note", tm)
144
- wait
145
- @server.commands.join("\n").should include("notice #{tm.to_i} 0 Test note")
146
- end
147
-
148
- it "should allow outgoing metrics to be stopped" do
149
- tm = Time.now
150
- @agent.increment("foo.bar", 1, tm)
151
- @agent.stop
152
- wait
153
- @agent.increment("foo.baz", 1, tm)
154
- wait
155
- @server.commands.join("\n").should include("increment foo.baz 1 #{tm.to_i}")
156
- @server.commands.join("\n").should_not include("increment foo.bar 1 #{tm.to_i}")
157
- end
158
-
159
- it "should no op on an empty flush" do
160
- @agent.flush(true)
161
- wait
162
- @server.commands.should be_empty
163
- end
164
- end
165
-
166
53
  describe Instrumental::Agent, "enabled" do
167
54
  before do
168
55
  @server = TestServer.new
@@ -189,7 +76,7 @@ describe Instrumental::Agent, "enabled" do
189
76
  it "should announce itself, and include version" do
190
77
  @agent.increment("test.foo")
191
78
  wait
192
- @server.commands[0].should =~ /hello .*version /
79
+ @server.commands[0].should =~ /hello .*version .* hostname .*/
193
80
  end
194
81
 
195
82
  it "should authenticate using the token" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: instrumental_agent
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.11
4
+ version: 0.10.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -163,7 +163,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
163
163
  version: '0'
164
164
  segments:
165
165
  - 0
166
- hash: 2378004147866464833
166
+ hash: -983056145287653998
167
167
  required_rubygems_version: !ruby/object:Gem::Requirement
168
168
  none: false
169
169
  requirements:
@@ -172,7 +172,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
172
172
  version: '0'
173
173
  segments:
174
174
  - 0
175
- hash: 2378004147866464833
175
+ hash: -983056145287653998
176
176
  requirements: []
177
177
  rubyforge_project:
178
178
  rubygems_version: 1.8.21