oboe 2.7.4.1-java → 2.7.5.wolf1-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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +57 -0
- data/CONFIG.md +16 -0
- data/Gemfile +1 -0
- data/README.md +6 -0
- data/lib/joboe_metal.rb +22 -5
- data/lib/oboe/config.rb +3 -2
- data/lib/oboe/inst/faraday.rb +1 -1
- data/lib/oboe/inst/typhoeus.rb +99 -0
- data/lib/oboe/util.rb +5 -0
- data/lib/oboe/version.rb +2 -2
- data/test/instrumentation/typhoeus_test.rb +154 -0
- data/test/support/config_test.rb +1 -1
- metadata +8 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9b6feae15cd8088b6791d3a9bbd0c8bd24b928fc
|
4
|
+
data.tar.gz: edc309ac1f8393c96e0bb9621b8d9d9dc759defa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f84879fa15a8a8319c1c116f7a5530744d14d0f61dda6e93b8fec50317f4b585ef758815d4e986f35822eb7d596937651fdfa4cf4b03d07a1de21d85db166969
|
7
|
+
data.tar.gz: 60065de5f383d1d7c66636770912aa4202a0b97020a6f9303c2150887dc88b0dd43a28a2caec9a293e76bb0021eadf8a85b9a2d3dabceb7034400fab775cce0c
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,60 @@
|
|
1
|
+
|
2
|
+
For the latest release info, see here:
|
3
|
+
https://github.com/appneta/oboe-ruby/releases
|
4
|
+
|
5
|
+
Dates in this file are in the format MM/DD/YYYY.
|
6
|
+
|
7
|
+
# oboe 2.7.4.1 (10/26/2014)
|
8
|
+
|
9
|
+
This patch release includes:
|
10
|
+
|
11
|
+
* Make Oboe::API available even when liboboe.so is not #81 (thanks Cannon!)
|
12
|
+
* Add OS and Oboe::Config info to support_report #80
|
13
|
+
|
14
|
+
Pushed to Rubygems:
|
15
|
+
|
16
|
+
https://rubygems.org/gems/oboe/versions/2.7.4.1
|
17
|
+
https://rubygems.org/gems/oboe/versions/2.7.4.1-java
|
18
|
+
|
19
|
+
# oboe 2.7.3.1 (10/15/2014)
|
20
|
+
|
21
|
+
This patch release includes:
|
22
|
+
|
23
|
+
* Fix require statements under certain variations of REE-1.8.7: #78 (thanks @madrobby)
|
24
|
+
* Faraday instrumentation fails to capture and pass params update block: #79
|
25
|
+
* Add method to log environment details for support investigations (`Oboe.support_report`): #77
|
26
|
+
|
27
|
+
Pushed to Rubygems:
|
28
|
+
|
29
|
+
https://rubygems.org/gems/oboe/versions/2.7.3.1
|
30
|
+
https://rubygems.org/gems/oboe/versions/2.7.3.1-java
|
31
|
+
|
32
|
+
# oboe 2.7.2.2 (09/26/2014)
|
33
|
+
|
34
|
+
This patch release includes:
|
35
|
+
|
36
|
+
* New [Faraday](https://github.com/lostisland/faraday) instrumentation: https://github.com/appneta/oboe-ruby/pull/68
|
37
|
+
* Auto-initialize instrumentation when no framework detected: https://github.com/appneta/oboe-ruby/pull/76
|
38
|
+
* Willingly ignore traceview missing libraries warning: https://github.com/appneta/oboe-ruby/pull/75 (thanks @theist!)
|
39
|
+
|
40
|
+
Pushed to Rubygems:
|
41
|
+
|
42
|
+
https://rubygems.org/gems/oboe/versions/2.7.2.2
|
43
|
+
https://rubygems.org/gems/oboe/versions/2.7.2.2-java
|
44
|
+
|
45
|
+
# oboe 2.7.1.7 (09/08/2014)
|
46
|
+
|
47
|
+
This patch release includes:
|
48
|
+
|
49
|
+
* Fixed load stack trace when missing TraceView base libraries: [#72](https://github.com/appneta/oboe-ruby/pull/72) - thanks @theist!
|
50
|
+
* Beta `em-http-request` instrumentation: [#60](https://github.com/appneta/oboe-ruby/pull/60)/[#73](https://github.com/appneta/oboe-ruby/pull/73) - Thanks @diogobenica!
|
51
|
+
* Improved loading when on Heroku with oboe-heroku gem
|
52
|
+
|
53
|
+
Pushed to Rubygems:
|
54
|
+
|
55
|
+
https://rubygems.org/gems/oboe/versions/2.7.1.7
|
56
|
+
https://rubygems.org/gems/oboe/versions/2.7.1.7-java
|
57
|
+
|
1
58
|
# oboe 2.7.0.3 (08/19/2014)
|
2
59
|
|
3
60
|
This minor release includes:
|
data/CONFIG.md
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
# Oboe Gem Configuration
|
2
|
+
|
3
|
+
## Environment Variables
|
4
|
+
|
5
|
+
The following environment variables are detected by the oboe gem:
|
6
|
+
|
7
|
+
* `IGNORE_TRACEVIEW_WARNING` - tells the oboe gem to __not__ output the _missing TraceView libraries_ message on stack initialization
|
8
|
+
|
9
|
+
* `OBOE_GEM_VERBOSE` - sets the verbose flag (`Oboe::Config[:verbose]`) early in the gem loading process which may output valuable information
|
10
|
+
|
11
|
+
## Oboe::Config
|
12
|
+
|
13
|
+
`Oboe::Config` is a nested hash used by the oboe gem to store preferences and switches.
|
14
|
+
|
15
|
+
See [this Rails generator template file](https://github.com/appneta/oboe-ruby/blob/master/lib/rails/generators/oboe/templates/oboe_initializer.rb) for documentation on all of the supported values.
|
16
|
+
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -29,6 +29,12 @@ gem 'oboe'
|
|
29
29
|
|
30
30
|
On Heroku? Use the `oboe-heroku` gem instead. It wraps some additional functionality specialized for Heroku.
|
31
31
|
|
32
|
+
## Oboe?
|
33
|
+
|
34
|
+
What the heck is an [oboe](https://en.wikipedia.org/wiki/Oboe)?
|
35
|
+
|
36
|
+
_AKA Performance Instrumentation_
|
37
|
+
|
32
38
|
# Running
|
33
39
|
|
34
40
|
## Rails
|
data/lib/joboe_metal.rb
CHANGED
@@ -169,9 +169,26 @@ module Oboe
|
|
169
169
|
end
|
170
170
|
|
171
171
|
# Assure that the Joboe Java Agent was loaded via premain
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
172
|
+
case Java::ComTracelyticsAgent::Agent.getStatus
|
173
|
+
when Java::ComTracelyticsAgent::Agent::AgentStatus::INITIALIZED_SUCCESSFUL
|
174
|
+
Oboe.loaded = true
|
175
|
+
|
176
|
+
when Java::ComTracelyticsAgent::Agent::AgentStatus::INITIALIZED_FAILED
|
177
|
+
Oboe.loaded = false
|
178
|
+
$stderr.puts '=============================================================='
|
179
|
+
$stderr.puts 'TraceView Java Agent not initialized properly.'
|
180
|
+
$stderr.puts 'Possibly misconfigured? Going into no-op mode.'
|
181
|
+
$stderr.puts 'See: http://bit.ly/1zwS5xj'
|
182
|
+
$stderr.puts '=============================================================='
|
183
|
+
|
184
|
+
when Java::ComTracelyticsAgent::Agent::AgentStatus::UNINITIALIZED
|
185
|
+
Oboe.loaded = false
|
186
|
+
$stderr.puts '=============================================================='
|
187
|
+
$stderr.puts 'TraceView Java Agent not loaded. Going into no-op mode.'
|
188
|
+
$stderr.puts 'To preload the TraceView java agent see:'
|
189
|
+
$stderr.puts 'https://support.appneta.com/cloud/installing-jruby-instrumentation'
|
190
|
+
$stderr.puts '=============================================================='
|
191
|
+
|
192
|
+
else
|
193
|
+
Oboe.loaded = false
|
177
194
|
end
|
data/lib/oboe/config.rb
CHANGED
@@ -13,7 +13,7 @@ module Oboe
|
|
13
13
|
|
14
14
|
@@instrumentation = [:action_controller, :action_view, :active_record,
|
15
15
|
:cassandra, :dalli, :em_http_request, :faraday, :nethttp, :memcached,
|
16
|
-
:memcache, :mongo, :moped, :rack, :redis, :resque]
|
16
|
+
:memcache, :mongo, :moped, :rack, :redis, :resque, :typhoeus]
|
17
17
|
##
|
18
18
|
# Return the raw nested hash.
|
19
19
|
#
|
@@ -48,6 +48,7 @@ module Oboe
|
|
48
48
|
Oboe::Config[:nethttp][:collect_backtraces] = true
|
49
49
|
Oboe::Config[:redis][:collect_backtraces] = false
|
50
50
|
Oboe::Config[:resque][:collect_backtraces] = true
|
51
|
+
Oboe::Config[:typhoeus][:collect_backtraces] = false
|
51
52
|
|
52
53
|
# Special instrument specific flags
|
53
54
|
#
|
@@ -81,7 +82,7 @@ module Oboe
|
|
81
82
|
@@config[:reporter_port] = '7831'
|
82
83
|
end
|
83
84
|
|
84
|
-
@@config[:verbose] = false
|
85
|
+
@@config[:verbose] = ENV.key?('OBOE_GEM_VERBOSE') ? true : false
|
85
86
|
end
|
86
87
|
|
87
88
|
def self.update!(data)
|
data/lib/oboe/inst/faraday.rb
CHANGED
@@ -66,7 +66,7 @@ end
|
|
66
66
|
|
67
67
|
if Oboe::Config[:faraday][:enabled]
|
68
68
|
if defined?(::Faraday)
|
69
|
-
Oboe.logger.info '[oboe/loading] Instrumenting faraday'
|
69
|
+
Oboe.logger.info '[oboe/loading] Instrumenting faraday' if Oboe::Config[:verbose]
|
70
70
|
::Oboe::Util.send_include(::Faraday::Connection, ::Oboe::Inst::FaradayConnection)
|
71
71
|
end
|
72
72
|
end
|
@@ -0,0 +1,99 @@
|
|
1
|
+
module Oboe
|
2
|
+
module Inst
|
3
|
+
module TyphoeusRequestOps
|
4
|
+
|
5
|
+
def self.included(klass)
|
6
|
+
::Oboe::Util.method_alias(klass, :run, ::Typhoeus::Request::Operations)
|
7
|
+
end
|
8
|
+
|
9
|
+
def run_with_oboe
|
10
|
+
return run_without_oboe unless Oboe.tracing?
|
11
|
+
|
12
|
+
Oboe::API.log_entry('typhoeus')
|
13
|
+
|
14
|
+
# Prepare X-Trace header handling
|
15
|
+
blacklisted = Oboe::API.blacklisted?(url)
|
16
|
+
context = Oboe::Context.toString
|
17
|
+
task_id = Oboe::XTrace.task_id(context)
|
18
|
+
options[:headers]['X-Trace'] = context unless blacklisted
|
19
|
+
|
20
|
+
response = run_without_oboe
|
21
|
+
|
22
|
+
if response.code == 0
|
23
|
+
Oboe::API.log('typhoeus', 'error', { :ErrorClass => response.return_code,
|
24
|
+
:ErrorMsg => response.return_message })
|
25
|
+
end
|
26
|
+
|
27
|
+
kvs = {}
|
28
|
+
kvs[:HTTPStatus] = response.code
|
29
|
+
kvs['Backtrace'] = Oboe::API.backtrace if Oboe::Config[:typhoeus][:collect_backtraces]
|
30
|
+
|
31
|
+
# Avoid cross host tracing for blacklisted domains
|
32
|
+
# Conditionally add the X-Trace header to the outgoing request
|
33
|
+
response.headers['X-Trace'] = context unless blacklisted
|
34
|
+
|
35
|
+
uri = URI(response.effective_url)
|
36
|
+
kvs['IsService'] = 1
|
37
|
+
kvs['RemoteProtocol'] = uri.scheme
|
38
|
+
kvs['RemoteHost'] = uri.host
|
39
|
+
kvs['RemotePort'] = uri.port ? uri.port : 80
|
40
|
+
kvs['ServiceArg'] = uri.path
|
41
|
+
kvs['HTTPMethod'] = options[:method]
|
42
|
+
kvs['Blacklisted'] = true if blacklisted
|
43
|
+
|
44
|
+
# Re-attach net::http edge unless it's blacklisted or if we don't have a
|
45
|
+
# valid X-Trace header
|
46
|
+
unless blacklisted
|
47
|
+
xtrace = response.headers['X-Trace']
|
48
|
+
|
49
|
+
if xtrace && Oboe::XTrace.valid?(xtrace) && Oboe.tracing?
|
50
|
+
|
51
|
+
# Assure that we received back a valid X-Trace with the same task_id
|
52
|
+
if task_id == Oboe::XTrace.task_id(xtrace)
|
53
|
+
Oboe::Context.fromString(xtrace)
|
54
|
+
else
|
55
|
+
Oboe.logger.debug "Mismatched returned X-Trace ID: #{xtrace}"
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
Oboe::API.log('typhoeus', 'info', kvs)
|
61
|
+
response
|
62
|
+
rescue => e
|
63
|
+
Oboe::API.log_exception('typhoeus', e)
|
64
|
+
raise e
|
65
|
+
ensure
|
66
|
+
Oboe::API.log_exit('typhoeus')
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
module TyphoeusHydraRunnable
|
71
|
+
def self.included(klass)
|
72
|
+
::Oboe::Util.method_alias(klass, :run, ::Typhoeus::Hydra)
|
73
|
+
end
|
74
|
+
|
75
|
+
def run_with_oboe
|
76
|
+
kvs = {}
|
77
|
+
|
78
|
+
kvs[:queued_requests] = queued_requests.count
|
79
|
+
kvs[:max_concurrency] = max_concurrency
|
80
|
+
|
81
|
+
# FIXME: Until we figure out a strategy to deal with libcurl internal
|
82
|
+
# threading and Ethon's use of easy handles, here we just do a simple
|
83
|
+
# trace of the hydra run.
|
84
|
+
Oboe::API.trace("typhoeus_hydra", kvs) do
|
85
|
+
run_without_oboe
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
if Oboe::Config[:typhoeus][:enabled]
|
94
|
+
if defined?(::Typhoeus)
|
95
|
+
Oboe.logger.info '[oboe/loading] Instrumenting typhoeus' if Oboe::Config[:verbose]
|
96
|
+
::Oboe::Util.send_include(::Typhoeus::Request::Operations, ::Oboe::Inst::TyphoeusRequestOps)
|
97
|
+
::Oboe::Util.send_include(::Typhoeus::Hydra, ::Oboe::Inst::TyphoeusHydraRunnable)
|
98
|
+
end
|
99
|
+
end
|
data/lib/oboe/util.rb
CHANGED
@@ -166,6 +166,11 @@ module Oboe
|
|
166
166
|
platform_info['Ruby.Mongo.Version'] = "Mongo-#{::Gem.loaded_specs['mongo'].version}"
|
167
167
|
end
|
168
168
|
|
169
|
+
# Report the DB adapter in use
|
170
|
+
platform_info['Ruby.Mysql.Version'] = Mysql::GemVersion::VERSION if defined?(Mysql::GemVersion::VERSION)
|
171
|
+
platform_info['Ruby.PG.Version'] = PG::VERSION if defined?(PG::VERSION)
|
172
|
+
platform_info['Ruby.Mysql2.Version'] = Mysql2::VERSION if defined?(Mysql2::VERSION)
|
173
|
+
|
169
174
|
# Report the server in use (if possible)
|
170
175
|
if defined?(::Unicorn)
|
171
176
|
platform_info['Ruby.AppContainer.Version'] = "Unicorn-#{::Unicorn::Const::UNICORN_VERSION}"
|
data/lib/oboe/version.rb
CHANGED
@@ -0,0 +1,154 @@
|
|
1
|
+
require 'minitest_helper'
|
2
|
+
|
3
|
+
describe Oboe::Inst::TyphoeusRequestOps do
|
4
|
+
before do
|
5
|
+
clear_all_traces
|
6
|
+
@collect_backtraces = Oboe::Config[:typhoeus][:collect_backtraces]
|
7
|
+
end
|
8
|
+
|
9
|
+
after do
|
10
|
+
Oboe::Config[:typhoeus][:collect_backtraces] = @collect_backtraces
|
11
|
+
end
|
12
|
+
|
13
|
+
it 'Typhoeus should be defined and ready' do
|
14
|
+
defined?(::Typhoeus::Request::Operations).wont_match nil
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'Typhoeus should have oboe methods defined' do
|
18
|
+
[ :run_with_oboe ].each do |m|
|
19
|
+
::Typhoeus::Request::Operations.method_defined?(m).must_equal true
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'should trace a typhoeus request' do
|
24
|
+
Oboe::API.start_trace('typhoeus_test') do
|
25
|
+
Typhoeus.get("www.appneta.com/products/traceview/")
|
26
|
+
end
|
27
|
+
|
28
|
+
traces = get_all_traces
|
29
|
+
traces.count.must_equal 5
|
30
|
+
|
31
|
+
validate_outer_layers(traces, 'typhoeus_test')
|
32
|
+
|
33
|
+
traces[1]['Layer'].must_equal 'typhoeus'
|
34
|
+
traces[1].key?('Backtrace').must_equal Oboe::Config[:typhoeus][:collect_backtraces]
|
35
|
+
|
36
|
+
traces[2]['Layer'].must_equal 'typhoeus'
|
37
|
+
traces[2]['Label'].must_equal 'info'
|
38
|
+
traces[2]['IsService'].must_equal '1'
|
39
|
+
traces[2]['RemoteProtocol'].downcase.must_equal 'http'
|
40
|
+
traces[2]['RemoteHost'].must_equal 'www.appneta.com'
|
41
|
+
traces[2]['ServiceArg'].must_equal '/products/traceview/'
|
42
|
+
traces[2]['HTTPMethod'].must_equal 'get'
|
43
|
+
traces[2]['HTTPStatus'].must_equal '200'
|
44
|
+
|
45
|
+
traces[3]['Layer'].must_equal 'typhoeus'
|
46
|
+
traces[3]['Label'].must_equal 'exit'
|
47
|
+
end
|
48
|
+
|
49
|
+
it 'should trace a typhoeus request to an instr\'d app' do
|
50
|
+
Oboe::API.start_trace('typhoeus_test') do
|
51
|
+
Typhoeus.get("www.gameface.in/gamers")
|
52
|
+
end
|
53
|
+
|
54
|
+
traces = get_all_traces
|
55
|
+
traces.count.must_equal 5
|
56
|
+
|
57
|
+
validate_outer_layers(traces, 'typhoeus_test')
|
58
|
+
|
59
|
+
traces[1]['Layer'].must_equal 'typhoeus'
|
60
|
+
traces[1].key?('Backtrace').must_equal Oboe::Config[:typhoeus][:collect_backtraces]
|
61
|
+
|
62
|
+
traces[2]['Layer'].must_equal 'typhoeus'
|
63
|
+
traces[2]['Label'].must_equal 'info'
|
64
|
+
traces[2]['IsService'].must_equal '1'
|
65
|
+
traces[2]['RemoteProtocol'].downcase.must_equal 'http'
|
66
|
+
traces[2]['RemoteHost'].must_equal 'www.gameface.in'
|
67
|
+
traces[2]['ServiceArg'].must_equal '/gamers'
|
68
|
+
traces[2]['HTTPMethod'].must_equal 'get'
|
69
|
+
traces[2]['HTTPStatus'].must_equal '200'
|
70
|
+
|
71
|
+
traces[3]['Layer'].must_equal 'typhoeus'
|
72
|
+
traces[3]['Label'].must_equal 'exit'
|
73
|
+
end
|
74
|
+
it 'should trace a typhoeus request with error' do
|
75
|
+
Oboe::API.start_trace('typhoeus_test') do
|
76
|
+
Typhoeus.get("thisdomaindoesntexisthopefully.asdf/products/traceview/")
|
77
|
+
end
|
78
|
+
|
79
|
+
traces = get_all_traces
|
80
|
+
traces.count.must_equal 6
|
81
|
+
|
82
|
+
validate_outer_layers(traces, 'typhoeus_test')
|
83
|
+
|
84
|
+
traces[1]['Layer'].must_equal 'typhoeus'
|
85
|
+
traces[1].key?('Backtrace').must_equal Oboe::Config[:typhoeus][:collect_backtraces]
|
86
|
+
|
87
|
+
traces[2]['Layer'].must_equal 'typhoeus'
|
88
|
+
traces[2]['Label'].must_equal 'error'
|
89
|
+
|
90
|
+
traces[3]['Layer'].must_equal 'typhoeus'
|
91
|
+
traces[3]['Label'].must_equal 'info'
|
92
|
+
traces[3]['IsService'].must_equal '1'
|
93
|
+
traces[3]['RemoteProtocol'].downcase.must_equal 'http'
|
94
|
+
traces[3]['RemoteHost'].must_equal 'thisdomaindoesntexisthopefully.asdf'
|
95
|
+
traces[3]['ServiceArg'].must_equal '/products/traceview/'
|
96
|
+
traces[3]['HTTPMethod'].must_equal 'get'
|
97
|
+
traces[3]['HTTPStatus'].must_equal '0'
|
98
|
+
|
99
|
+
traces[3]['Layer'].must_equal 'typhoeus'
|
100
|
+
traces[3]['Label'].must_equal 'info'
|
101
|
+
|
102
|
+
traces[4]['Layer'].must_equal 'typhoeus'
|
103
|
+
traces[4]['Label'].must_equal 'exit'
|
104
|
+
end
|
105
|
+
|
106
|
+
it 'should trace parallel typhoeus requests' do
|
107
|
+
Oboe::API.start_trace('typhoeus_test') do
|
108
|
+
hydra = Typhoeus::Hydra.hydra
|
109
|
+
|
110
|
+
first_request = Typhoeus::Request.new("www.appneta.com/products/traceview/")
|
111
|
+
second_request = Typhoeus::Request.new("www.appneta.com/products/")
|
112
|
+
third_request = Typhoeus::Request.new("www.curlmyip.com")
|
113
|
+
|
114
|
+
hydra.queue first_request
|
115
|
+
hydra.queue second_request
|
116
|
+
hydra.queue third_request
|
117
|
+
|
118
|
+
hydra.run
|
119
|
+
end
|
120
|
+
|
121
|
+
traces = get_all_traces
|
122
|
+
traces.count.must_equal 4
|
123
|
+
|
124
|
+
validate_outer_layers(traces, 'typhoeus_test')
|
125
|
+
|
126
|
+
traces[1]['Layer'].must_equal 'typhoeus_hydra'
|
127
|
+
traces[1]['Label'].must_equal 'entry'
|
128
|
+
|
129
|
+
traces[2]['Layer'].must_equal 'typhoeus_hydra'
|
130
|
+
traces[2]['Label'].must_equal 'exit'
|
131
|
+
end
|
132
|
+
|
133
|
+
it 'should obey :collect_backtraces setting when true' do
|
134
|
+
Oboe::Config[:typhoeus][:collect_backtraces] = true
|
135
|
+
|
136
|
+
Oboe::API.start_trace('typhoeus_test') do
|
137
|
+
Typhoeus.get("www.appneta.com/products/traceview/")
|
138
|
+
end
|
139
|
+
|
140
|
+
traces = get_all_traces
|
141
|
+
layer_has_key(traces, 'typhoeus', 'Backtrace')
|
142
|
+
end
|
143
|
+
|
144
|
+
it 'should obey :collect_backtraces setting when false' do
|
145
|
+
Oboe::Config[:typhoeus][:collect_backtraces] = false
|
146
|
+
|
147
|
+
Oboe::API.start_trace('typhoeus_test') do
|
148
|
+
Typhoeus.get("www.appneta.com/products/traceview/")
|
149
|
+
end
|
150
|
+
|
151
|
+
traces = get_all_traces
|
152
|
+
layer_doesnt_have_key(traces, 'typhoeus', 'Backtrace')
|
153
|
+
end
|
154
|
+
end
|
data/test/support/config_test.rb
CHANGED
@@ -23,7 +23,7 @@ describe Oboe::Config do
|
|
23
23
|
instrumentation = Oboe::Config.instrumentation_list
|
24
24
|
|
25
25
|
# Verify the number of individual instrumentations
|
26
|
-
instrumentation.count.must_equal
|
26
|
+
instrumentation.count.must_equal 16
|
27
27
|
|
28
28
|
Oboe::Config[:action_controller][:enabled].must_equal true
|
29
29
|
Oboe::Config[:action_view][:enabled].must_equal true
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: oboe
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.7.
|
4
|
+
version: 2.7.5.wolf1
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- Peter Giacomo Lombardo
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-
|
12
|
+
date: 2014-11-17 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: json
|
@@ -51,6 +51,7 @@ files:
|
|
51
51
|
- .travis.yml
|
52
52
|
- Appraisals
|
53
53
|
- CHANGELOG.md
|
54
|
+
- CONFIG.md
|
54
55
|
- Gemfile
|
55
56
|
- LICENSE
|
56
57
|
- README.md
|
@@ -109,6 +110,7 @@ files:
|
|
109
110
|
- lib/oboe/inst/rack.rb
|
110
111
|
- lib/oboe/inst/redis.rb
|
111
112
|
- lib/oboe/inst/resque.rb
|
113
|
+
- lib/oboe/inst/typhoeus.rb
|
112
114
|
- lib/oboe/instrumentation.rb
|
113
115
|
- lib/oboe/loading.rb
|
114
116
|
- lib/oboe/logger.rb
|
@@ -148,6 +150,7 @@ files:
|
|
148
150
|
- test/instrumentation/redis_sortedsets_test.rb
|
149
151
|
- test/instrumentation/redis_strings_test.rb
|
150
152
|
- test/instrumentation/resque_test.rb
|
153
|
+
- test/instrumentation/typhoeus_test.rb
|
151
154
|
- test/minitest_helper.rb
|
152
155
|
- test/profiling/method_test.rb
|
153
156
|
- test/support/config_test.rb
|
@@ -168,9 +171,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
168
171
|
version: 1.8.6
|
169
172
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
170
173
|
requirements:
|
171
|
-
- - '
|
174
|
+
- - '>'
|
172
175
|
- !ruby/object:Gem::Version
|
173
|
-
version:
|
176
|
+
version: 1.3.1
|
174
177
|
requirements: []
|
175
178
|
rubyforge_project:
|
176
179
|
rubygems_version: 2.1.9
|
@@ -194,6 +197,7 @@ test_files:
|
|
194
197
|
- test/instrumentation/redis_strings_test.rb
|
195
198
|
- test/instrumentation/redis_sets_test.rb
|
196
199
|
- test/instrumentation/http_test.rb
|
200
|
+
- test/instrumentation/typhoeus_test.rb
|
197
201
|
- test/instrumentation/resque_test.rb
|
198
202
|
- test/instrumentation/em_http_request_test.rb
|
199
203
|
- test/instrumentation/moped_test.rb
|