oboe 2.7.16.1-java → 2.7.17.1-java

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.
@@ -8,7 +8,7 @@ module Oboe
8
8
  module Version
9
9
  MAJOR = 2
10
10
  MINOR = 7
11
- PATCH = 16
11
+ PATCH = 17
12
12
  BUILD = 1
13
13
 
14
14
  STRING = [MAJOR, MINOR, PATCH, BUILD].compact.join('.')
@@ -1,9 +1,6 @@
1
1
  # AppNeta TraceView Initializer (the oboe gem)
2
2
  # http://www.appneta.com/products/traceview/
3
3
  #
4
- # Details on configuring your sample rate:
5
- # https://support.appneta.com/cloud/configuring-sampling
6
- #
7
4
  # More information on instrumenting Ruby applications can be found here:
8
5
  # https://support.appneta.com/cloud/installing-ruby-instrumentation
9
6
 
@@ -15,12 +12,36 @@ if defined?(Oboe::Config)
15
12
  # order to initiate tracing from Ruby.
16
13
  Oboe::Config[:tracing_mode] = '<%= @tracing_mode %>'
17
14
 
18
- # sample_rate is a value from 0 - 1m indicating the fraction of requests per million to trace
19
- # Oboe::Config[:sample_rate] = <%= @sample_rate %>
20
-
21
15
  # Verbose output of instrumentation initialization
22
16
  # Oboe::Config[:verbose] = <%= @verbose %>
23
17
 
18
+ # Logging of outgoing HTTP query args
19
+ #
20
+ # This optionally disables the logging of query args of outgoing
21
+ # HTTP clients such as Net::HTTP, excon, typhoeus and others.
22
+ #
23
+ # This flag is global to all HTTP client instrumentation.
24
+ #
25
+ # To configure this on a per instrumentation basis, set this
26
+ # option to true and instead disable the instrumenstation specific
27
+ # option <tt>log_args</tt>:
28
+ #
29
+ # Oboe::Config[:nethttp][:log_args] = false
30
+ # Oboe::Config[:excon][:log_args] = false
31
+ # Oboe::Config[:typhoeus][:log_args] = true
32
+ #
33
+ Oboe::Config[:include_url_query_params] = true
34
+
35
+ # Logging of incoming HTTP query args
36
+ #
37
+ # This optionally disables the logging of incoming URL request
38
+ # query args.
39
+ #
40
+ # This flag is global and currently only affects the Rack
41
+ # instrumentation which reports incoming request URLs and
42
+ # query args by default.
43
+ Oboe::Config[:include_remote_url_params] = true
44
+
24
45
  # The oboe Ruby client has the ability to sanitize query literals
25
46
  # from SQL statements. By default this is disabled. Enable to
26
47
  # avoid collecting and reporting query literals to TraceView.
@@ -77,8 +98,10 @@ if defined?(Oboe::Config)
77
98
  # Oboe::Config[:action_view][:enabled] = true
78
99
  # Oboe::Config[:cassandra][:enabled] = true
79
100
  # Oboe::Config[:dalli][:enabled] = true
101
+ # Oboe::Config[:excon][:enabled] = true
80
102
  # Oboe::Config[:em_http_request][:enabled] = true
81
103
  # Oboe::Config[:faraday][:enabled] = true
104
+ # Oboe::Config[:httpclient][:enabled] = true
82
105
  # Oboe::Config[:memcache][:enabled] = true
83
106
  # Oboe::Config[:memcached][:enabled] = true
84
107
  # Oboe::Config[:mongo][:enabled] = true
@@ -86,6 +109,7 @@ if defined?(Oboe::Config)
86
109
  # Oboe::Config[:nethttp][:enabled] = true
87
110
  # Oboe::Config[:redis][:enabled] = true
88
111
  # Oboe::Config[:resque][:enabled] = true
112
+ # Oboe::Config[:rest_client][:enabled] = true
89
113
  # Oboe::Config[:sequel][:enabled] = true
90
114
  # Oboe::Config[:typhoeus][:enabled] = true
91
115
  #
@@ -103,8 +127,10 @@ if defined?(Oboe::Config)
103
127
  # Oboe::Config[:action_view][:collect_backtraces] = true
104
128
  # Oboe::Config[:cassandra][:collect_backtraces] = true
105
129
  # Oboe::Config[:dalli][:collect_backtraces] = false
130
+ # Oboe::Config[:excon][:collect_backtraces] = false
106
131
  # Oboe::Config[:em_http_request][:collect_backtraces] = true
107
132
  # Oboe::Config[:faraday][:collect_backtraces] = false
133
+ # Oboe::Config[:httpclient][:collect_backtraces] = false
108
134
  # Oboe::Config[:memcache][:collect_backtraces] = false
109
135
  # Oboe::Config[:memcached][:collect_backtraces] = false
110
136
  # Oboe::Config[:mongo][:collect_backtraces] = true
@@ -112,19 +138,11 @@ if defined?(Oboe::Config)
112
138
  # Oboe::Config[:nethttp][:collect_backtraces] = true
113
139
  # Oboe::Config[:redis][:collect_backtraces] = false
114
140
  # Oboe::Config[:resque][:collect_backtraces] = true
141
+ # Oboe::Config[:rest_client][:collect_backtraces] = true
115
142
  # Oboe::Config[:sequel][:collect_backtraces] = true
116
143
  # Oboe::Config[:typhoeus][:collect_backtraces] = false
117
144
  #
118
145
 
119
- #
120
- # Blacklist actions
121
- #
122
- # e.g. if your load balancer requests 'index#ok'
123
- #
124
- # Oboe::Config[:action_blacklist] = {
125
- # 'index#ok' => true
126
- # }
127
-
128
146
  #
129
147
  # Resque Options
130
148
  #
@@ -51,23 +51,24 @@ class ExconTest < Minitest::Test
51
51
  clear_all_traces
52
52
 
53
53
  Oboe::API.start_trace('excon_tests') do
54
- response = Excon.get('http://www.gameface.in/gamers')
54
+ response = Excon.get('http://127.0.0.1:8101/?blah=1')
55
55
  xtrace = response.headers['X-Trace']
56
56
  assert xtrace
57
57
  assert Oboe::XTrace.valid?(xtrace)
58
58
  end
59
59
 
60
60
  traces = get_all_traces
61
- assert_equal traces.count, 4
61
+ assert_equal traces.count, 7
62
62
  validate_outer_layers(traces, "excon_tests")
63
+ valid_edges?(traces)
63
64
 
64
65
  assert_equal traces[1]['IsService'], 1
65
- assert_equal traces[1]['RemoteHost'], 'www.gameface.in'
66
+ assert_equal traces[1]['RemoteHost'], '127.0.0.1'
66
67
  assert_equal traces[1]['RemoteProtocol'], 'HTTP'
67
- assert_equal traces[1]['ServiceArg'], '/gamers'
68
+ assert_equal traces[1]['ServiceArg'], '/?blah=1'
68
69
  assert_equal traces[1]['HTTPMethod'], 'GET'
69
70
  assert traces[1].key?('Backtrace')
70
- assert_equal traces[2]['HTTPStatus'], 200
71
+ assert_equal traces[5]['HTTPStatus'], 200
71
72
  end
72
73
 
73
74
  def test_persistent_requests
@@ -77,39 +78,40 @@ class ExconTest < Minitest::Test
77
78
  clear_all_traces
78
79
 
79
80
  Oboe::API.start_trace('excon_tests') do
80
- connection = Excon.new('http://www.gameface.in/') # non-persistent by default
81
+ connection = Excon.new('http://127.0.0.1:8101/') # non-persistent by default
81
82
  connection.get # socket established, then closed
82
83
  connection.get(:persistent => true) # socket established, left open
83
84
  connection.get # socket reused, then closed
84
85
  end
85
86
 
86
87
  traces = get_all_traces
87
- assert_equal traces.count, 8
88
+ assert_equal traces.count, 17
88
89
  validate_outer_layers(traces, "excon_tests")
90
+ valid_edges?(traces)
89
91
 
90
92
  assert_equal traces[1]['IsService'], 1
91
- assert_equal traces[1]['RemoteHost'], 'www.gameface.in'
93
+ assert_equal traces[1]['RemoteHost'], '127.0.0.1'
92
94
  assert_equal traces[1]['RemoteProtocol'], 'HTTP'
93
95
  assert_equal traces[1]['ServiceArg'], '/'
94
96
  assert_equal traces[1]['HTTPMethod'], 'GET'
95
97
  assert traces[1].key?('Backtrace')
96
- assert_equal traces[2]['HTTPStatus'], 200
97
-
98
- assert_equal traces[3]['IsService'], 1
99
- assert_equal traces[3]['RemoteHost'], 'www.gameface.in'
100
- assert_equal traces[3]['RemoteProtocol'], 'HTTP'
101
- assert_equal traces[3]['ServiceArg'], '/'
102
- assert_equal traces[3]['HTTPMethod'], 'GET'
103
- assert traces[3].key?('Backtrace')
104
- assert_equal traces[4]['HTTPStatus'], 200
105
-
106
- assert_equal traces[5]['IsService'], 1
107
- assert_equal traces[5]['RemoteHost'], 'www.gameface.in'
108
- assert_equal traces[5]['RemoteProtocol'], 'HTTP'
109
- assert_equal traces[5]['ServiceArg'], '/'
110
- assert_equal traces[5]['HTTPMethod'], 'GET'
111
- assert traces[5].key?('Backtrace')
112
- assert_equal traces[6]['HTTPStatus'], 200
98
+ assert_equal traces[5]['HTTPStatus'], 200
99
+
100
+ assert_equal traces[6]['IsService'], 1
101
+ assert_equal traces[6]['RemoteHost'], '127.0.0.1'
102
+ assert_equal traces[6]['RemoteProtocol'], 'HTTP'
103
+ assert_equal traces[6]['ServiceArg'], '/'
104
+ assert_equal traces[6]['HTTPMethod'], 'GET'
105
+ assert traces[6].key?('Backtrace')
106
+ assert_equal traces[10]['HTTPStatus'], 200
107
+
108
+ assert_equal traces[11]['IsService'], 1
109
+ assert_equal traces[11]['RemoteHost'], '127.0.0.1'
110
+ assert_equal traces[11]['RemoteProtocol'], 'HTTP'
111
+ assert_equal traces[11]['ServiceArg'], '/'
112
+ assert_equal traces[11]['HTTPMethod'], 'GET'
113
+ assert traces[11].key?('Backtrace')
114
+ assert_equal traces[15]['HTTPStatus'], 200
113
115
  end
114
116
 
115
117
  def test_pipelined_requests
@@ -118,17 +120,17 @@ class ExconTest < Minitest::Test
118
120
  clear_all_traces
119
121
 
120
122
  Oboe::API.start_trace('excon_tests') do
121
- connection = Excon.new('http://www.gameface.in/')
123
+ connection = Excon.new('http://127.0.0.1:8101/')
122
124
  connection.requests([{:method => :get}, {:method => :put}])
123
125
  end
124
126
 
125
127
  traces = get_all_traces
126
- assert_equal traces.count, 4
128
+ assert_equal traces.count, 10
127
129
  validate_outer_layers(traces, "excon_tests")
128
130
  valid_edges?(traces)
129
131
 
130
132
  assert_equal traces[1]['IsService'], 1
131
- assert_equal traces[1]['RemoteHost'], 'www.gameface.in'
133
+ assert_equal traces[1]['RemoteHost'], '127.0.0.1'
132
134
  assert_equal traces[1]['RemoteProtocol'], 'HTTP'
133
135
  assert_equal traces[1]['ServiceArg'], '/'
134
136
  assert_equal traces[1]['Pipeline'], 'true'
@@ -141,7 +143,7 @@ class ExconTest < Minitest::Test
141
143
 
142
144
  begin
143
145
  Oboe::API.start_trace('excon_tests') do
144
- connection = Excon.get('http://asfjalkfjlajfljkaljf/')
146
+ Excon.get('http://asfjalkfjlajfljkaljf/')
145
147
  end
146
148
  rescue
147
149
  end
@@ -149,6 +151,7 @@ class ExconTest < Minitest::Test
149
151
  traces = get_all_traces
150
152
  assert_equal traces.count, 5
151
153
  validate_outer_layers(traces, "excon_tests")
154
+ valid_edges?(traces)
152
155
 
153
156
  assert_equal traces[1]['IsService'], 1
154
157
  assert_equal traces[1]['RemoteHost'], 'asfjalkfjlajfljkaljf'
@@ -166,5 +169,39 @@ class ExconTest < Minitest::Test
166
169
  assert_equal traces[3]['Layer'], 'excon'
167
170
  assert_equal traces[3]['Label'], 'exit'
168
171
  end
172
+
173
+ def test_obey_log_args_when_false
174
+ @log_args = Oboe::Config[:excon][:log_args]
175
+ clear_all_traces
176
+
177
+ Oboe::Config[:excon][:log_args] = false
178
+
179
+ Oboe::API.start_trace('excon_tests') do
180
+ Excon.get('http://127.0.0.1:8101/?blah=1')
181
+ end
182
+
183
+ traces = get_all_traces
184
+ assert_equal traces.count, 7
185
+ assert_equal traces[1]['ServiceArg'], '/'
186
+
187
+ Oboe::Config[:excon][:log_args] = @log_args
188
+ end
189
+
190
+ def test_obey_log_args_when_true
191
+ @log_args = Oboe::Config[:excon][:log_args]
192
+ clear_all_traces
193
+
194
+ Oboe::Config[:excon][:log_args] = true
195
+
196
+ Oboe::API.start_trace('excon_tests') do
197
+ Excon.get('http://127.0.0.1:8101/?blah=1')
198
+ end
199
+
200
+ traces = get_all_traces
201
+ assert_equal traces.count, 7
202
+ assert_equal traces[1]['ServiceArg'], '/?blah=1'
203
+
204
+ Oboe::Config[:excon][:log_args] = @log_args
205
+ end
169
206
  end
170
207
 
@@ -20,9 +20,9 @@ describe Oboe::Inst::FaradayConnection do
20
20
  end
21
21
  end
22
22
 
23
- it "should trace a Faraday request to an instr'd app" do
23
+ it "should trace cross-app request" do
24
24
  Oboe::API.start_trace('faraday_test') do
25
- conn = Faraday.new(:url => 'http://www.gameface.in') do |faraday|
25
+ conn = Faraday.new(:url => 'http://127.0.0.1:8101') do |faraday|
26
26
  faraday.adapter Faraday.default_adapter # make requests with Net::HTTP
27
27
  end
28
28
  response = conn.get '/games?q=1'
@@ -30,38 +30,38 @@ describe Oboe::Inst::FaradayConnection do
30
30
  end
31
31
 
32
32
  traces = get_all_traces
33
- traces.count.must_equal 8
33
+ traces.count.must_equal 11
34
34
 
35
35
  validate_outer_layers(traces, 'faraday_test')
36
36
 
37
37
  traces[1]['Layer'].must_equal 'faraday'
38
38
  traces[1].key?('Backtrace').must_equal Oboe::Config[:faraday][:collect_backtraces]
39
39
 
40
- traces[3]['Layer'].must_equal 'net-http'
41
- traces[3]['IsService'].must_equal 1
42
- traces[3]['RemoteProtocol'].must_equal 'HTTP'
43
- traces[3]['RemoteHost'].must_equal 'www.gameface.in'
44
- traces[3]['ServiceArg'].must_equal '/games?q=1'
45
- traces[3]['HTTPMethod'].must_equal 'GET'
46
- traces[3]['HTTPStatus'].must_equal '200'
40
+ traces[6]['Layer'].must_equal 'net-http'
41
+ traces[6]['IsService'].must_equal 1
42
+ traces[6]['RemoteProtocol'].must_equal 'HTTP'
43
+ traces[6]['RemoteHost'].must_equal '127.0.0.1:8101'
44
+ traces[6]['ServiceArg'].must_equal '/games?q=1'
45
+ traces[6]['HTTPMethod'].must_equal 'GET'
46
+ traces[6]['HTTPStatus'].must_equal '200'
47
47
 
48
- traces[4]['Layer'].must_equal 'net-http'
49
- traces[4]['Label'].must_equal 'exit'
48
+ traces[7]['Layer'].must_equal 'net-http'
49
+ traces[7]['Label'].must_equal 'exit'
50
50
 
51
- traces[6]['Layer'].must_equal 'faraday'
52
- traces[6]['Label'].must_equal 'exit'
51
+ traces[8]['Layer'].must_equal 'faraday'
52
+ traces[9]['Label'].must_equal 'exit'
53
53
  end
54
54
 
55
55
  it 'should trace a Faraday request' do
56
56
  Oboe::API.start_trace('faraday_test') do
57
- conn = Faraday.new(:url => 'http://www.curlmyip.de') do |faraday|
57
+ conn = Faraday.new(:url => 'http://127.0.0.1:8101') do |faraday|
58
58
  faraday.adapter Faraday.default_adapter # make requests with Net::HTTP
59
59
  end
60
- response = conn.get '/?q=ruby_test_suite'
60
+ conn.get '/?q=ruby_test_suite'
61
61
  end
62
62
 
63
63
  traces = get_all_traces
64
- traces.count.must_equal 8
64
+ traces.count.must_equal 11
65
65
 
66
66
  valid_edges?(traces)
67
67
  validate_outer_layers(traces, 'faraday_test')
@@ -69,31 +69,32 @@ describe Oboe::Inst::FaradayConnection do
69
69
  traces[1]['Layer'].must_equal 'faraday'
70
70
  traces[1].key?('Backtrace').must_equal Oboe::Config[:faraday][:collect_backtraces]
71
71
 
72
- traces[3]['Layer'].must_equal 'net-http'
73
- traces[3]['IsService'].must_equal 1
74
- traces[3]['RemoteProtocol'].must_equal 'HTTP'
75
- traces[3]['RemoteHost'].must_equal 'www.curlmyip.de'
76
- traces[3]['ServiceArg'].must_equal '/?q=ruby_test_suite'
77
- traces[3]['HTTPMethod'].must_equal 'GET'
78
- traces[3]['HTTPStatus'].must_equal '200'
72
+ traces[6]['Layer'].must_equal 'net-http'
73
+ traces[6]['Label'].must_equal 'info'
74
+ traces[6]['IsService'].must_equal 1
75
+ traces[6]['RemoteProtocol'].must_equal 'HTTP'
76
+ traces[6]['RemoteHost'].must_equal '127.0.0.1:8101'
77
+ traces[6]['ServiceArg'].must_equal '/?q=ruby_test_suite'
78
+ traces[6]['HTTPMethod'].must_equal 'GET'
79
+ traces[6]['HTTPStatus'].must_equal '200'
79
80
 
80
- traces[4]['Layer'].must_equal 'net-http'
81
- traces[4]['Label'].must_equal 'exit'
81
+ traces[7]['Layer'].must_equal 'net-http'
82
+ traces[7]['Label'].must_equal 'exit'
82
83
 
83
- traces[5]['Layer'].must_equal 'faraday'
84
- traces[5]['Label'].must_equal 'info'
84
+ traces[8]['Layer'].must_equal 'faraday'
85
+ traces[8]['Label'].must_equal 'info'
85
86
 
86
- traces[6]['Layer'].must_equal 'faraday'
87
- traces[6]['Label'].must_equal 'exit'
87
+ traces[9]['Layer'].must_equal 'faraday'
88
+ traces[9]['Label'].must_equal 'exit'
88
89
  end
89
90
 
90
- it 'should trace a Faraday alternate request method' do
91
+ it 'should trace a Faraday class style request' do
91
92
  Oboe::API.start_trace('faraday_test') do
92
- Faraday.get('http://www.curlmyip.de', {:a => 1})
93
+ Faraday.get('http://127.0.0.1:8101/', {:a => 1})
93
94
  end
94
95
 
95
96
  traces = get_all_traces
96
- traces.count.must_equal 8
97
+ traces.count.must_equal 11
97
98
 
98
99
  valid_edges?(traces)
99
100
  validate_outer_layers(traces, 'faraday_test')
@@ -101,34 +102,35 @@ describe Oboe::Inst::FaradayConnection do
101
102
  traces[1]['Layer'].must_equal 'faraday'
102
103
  traces[1].key?('Backtrace').must_equal Oboe::Config[:faraday][:collect_backtraces]
103
104
 
104
- traces[3]['Layer'].must_equal 'net-http'
105
- traces[3]['IsService'].must_equal 1
106
- traces[3]['RemoteProtocol'].must_equal 'HTTP'
107
- traces[3]['RemoteHost'].must_equal 'www.curlmyip.de'
108
- traces[3]['ServiceArg'].must_equal '/?a=1'
109
- traces[3]['HTTPMethod'].must_equal 'GET'
110
- traces[3]['HTTPStatus'].must_equal '200'
105
+ traces[6]['Layer'].must_equal 'net-http'
106
+ traces[6]['Label'].must_equal 'info'
107
+ traces[6]['IsService'].must_equal 1
108
+ traces[6]['RemoteProtocol'].must_equal 'HTTP'
109
+ traces[6]['RemoteHost'].must_equal '127.0.0.1:8101'
110
+ traces[6]['ServiceArg'].must_equal '/?a=1'
111
+ traces[6]['HTTPMethod'].must_equal 'GET'
112
+ traces[6]['HTTPStatus'].must_equal '200'
111
113
 
112
- traces[4]['Layer'].must_equal 'net-http'
113
- traces[4]['Label'].must_equal 'exit'
114
+ traces[7]['Layer'].must_equal 'net-http'
115
+ traces[7]['Label'].must_equal 'exit'
114
116
 
115
- traces[5]['Layer'].must_equal 'faraday'
116
- traces[5]['Label'].must_equal 'info'
117
+ traces[8]['Layer'].must_equal 'faraday'
118
+ traces[8]['Label'].must_equal 'info'
117
119
 
118
- traces[6]['Layer'].must_equal 'faraday'
119
- traces[6]['Label'].must_equal 'exit'
120
+ traces[9]['Layer'].must_equal 'faraday'
121
+ traces[9]['Label'].must_equal 'exit'
120
122
  end
121
123
 
122
- it 'should trace a Faraday with an alternate adapter' do
124
+ it 'should trace a Faraday with the excon adapter' do
123
125
  Oboe::API.start_trace('faraday_test') do
124
- conn = Faraday.new(:url => 'http://www.curlmyip.de') do |faraday|
126
+ conn = Faraday.new(:url => 'http://127.0.0.1:8101') do |faraday|
125
127
  faraday.adapter :excon
126
128
  end
127
- response = conn.get '/?q=1'
129
+ conn.get '/?q=1'
128
130
  end
129
131
 
130
132
  traces = get_all_traces
131
- traces.count.must_equal 7
133
+ traces.count.must_equal 10
132
134
 
133
135
  valid_edges?(traces)
134
136
  validate_outer_layers(traces, 'faraday_test')
@@ -140,34 +142,77 @@ describe Oboe::Inst::FaradayConnection do
140
142
  traces[2]['Label'].must_equal 'entry'
141
143
  traces[2]['IsService'].must_equal 1
142
144
  traces[2]['RemoteProtocol'].must_equal 'HTTP'
143
- traces[2]['RemoteHost'].must_equal 'www.curlmyip.de'
145
+ traces[2]['RemoteHost'].must_equal '127.0.0.1'
144
146
  traces[2]['ServiceArg'].must_equal '/?q=1'
145
147
  traces[2]['HTTPMethod'].must_equal 'GET'
146
148
 
147
- traces[3]['Layer'].must_equal 'excon'
148
- traces[3]['Label'].must_equal 'exit'
149
- traces[3]['HTTPStatus'].must_equal 200
149
+ traces[6]['Layer'].must_equal 'excon'
150
+ traces[6]['Label'].must_equal 'exit'
151
+ traces[6]['HTTPStatus'].must_equal 200
152
+
153
+ traces[7]['Layer'].must_equal 'faraday'
154
+ traces[7]['Label'].must_equal 'info'
155
+ unless RUBY_VERSION < '1.9.3'
156
+ # FIXME: Ruby 1.8 is reporting an object instance instead of
157
+ # an array
158
+ traces[7]['Middleware'].must_equal '[Faraday::Adapter::Excon]'
159
+ end
160
+
161
+ traces[8]['Layer'].must_equal 'faraday'
162
+ traces[8]['Label'].must_equal 'exit'
163
+ end
164
+
165
+ it 'should trace a Faraday with the httpclient adapter' do
166
+ skip "FIXME: once HTTPClient instrumentation is done"
167
+
168
+ Oboe::API.start_trace('faraday_test') do
169
+ conn = Faraday.new(:url => 'http://127.0.0.1:8101') do |faraday|
170
+ faraday.adapter :httpclient
171
+ end
172
+ conn.get '/?q=1'
173
+ end
174
+
175
+ traces = get_all_traces
176
+ traces.count.must_equal 10
177
+
178
+ valid_edges?(traces)
179
+ validate_outer_layers(traces, 'faraday_test')
180
+
181
+ traces[1]['Layer'].must_equal 'faraday'
182
+ traces[1].key?('Backtrace').must_equal Oboe::Config[:faraday][:collect_backtraces]
183
+
184
+ traces[2]['Layer'].must_equal 'excon'
185
+ traces[2]['Label'].must_equal 'entry'
186
+ traces[2]['IsService'].must_equal 1
187
+ traces[2]['RemoteProtocol'].must_equal 'HTTP'
188
+ traces[2]['RemoteHost'].must_equal '127.0.0.1'
189
+ traces[2]['ServiceArg'].must_equal '/?q=1'
190
+ traces[2]['HTTPMethod'].must_equal 'GET'
191
+
192
+ traces[6]['Layer'].must_equal 'excon'
193
+ traces[6]['Label'].must_equal 'exit'
194
+ traces[6]['HTTPStatus'].must_equal 200
150
195
 
151
- traces[4]['Layer'].must_equal 'faraday'
152
- traces[4]['Label'].must_equal 'info'
196
+ traces[7]['Layer'].must_equal 'faraday'
197
+ traces[7]['Label'].must_equal 'info'
153
198
  unless RUBY_VERSION < '1.9.3'
154
199
  # FIXME: Ruby 1.8 is reporting an object instance instead of
155
200
  # an array
156
- traces[4]['Middleware'].must_equal '[Faraday::Adapter::Excon]'
201
+ traces[7]['Middleware'].must_equal '[Faraday::Adapter::Excon]'
157
202
  end
158
203
 
159
- traces[5]['Layer'].must_equal 'faraday'
160
- traces[5]['Label'].must_equal 'exit'
204
+ traces[8]['Layer'].must_equal 'faraday'
205
+ traces[8]['Label'].must_equal 'exit'
161
206
  end
162
207
 
163
208
  it 'should obey :collect_backtraces setting when true' do
164
209
  Oboe::Config[:faraday][:collect_backtraces] = true
165
210
 
166
211
  Oboe::API.start_trace('faraday_test') do
167
- conn = Faraday.new(:url => 'http://www.google.com') do |faraday|
212
+ conn = Faraday.new(:url => 'http://127.0.0.1:8101') do |faraday|
168
213
  faraday.adapter Faraday.default_adapter # make requests with Net::HTTP
169
214
  end
170
- response = conn.get '/?q=ruby_test_suite'
215
+ conn.get '/?q=ruby_test_suite'
171
216
  end
172
217
 
173
218
  traces = get_all_traces
@@ -178,10 +223,10 @@ describe Oboe::Inst::FaradayConnection do
178
223
  Oboe::Config[:faraday][:collect_backtraces] = false
179
224
 
180
225
  Oboe::API.start_trace('faraday_test') do
181
- conn = Faraday.new(:url => 'http://www.google.com') do |faraday|
226
+ conn = Faraday.new(:url => 'http://127.0.0.1:8101') do |faraday|
182
227
  faraday.adapter Faraday.default_adapter # make requests with Net::HTTP
183
228
  end
184
- response = conn.get '/?q=ruby_test_suite'
229
+ conn.get '/?q=ruby_test_suite'
185
230
  end
186
231
 
187
232
  traces = get_all_traces