oboe 2.7.4.1-java → 2.7.5.wolf1-java

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 570a95fa0704a3eb54054bd343b5bdc661ef3253
4
- data.tar.gz: 46781b156509cede59ceba33ec68dfca31ecf20c
3
+ metadata.gz: 9b6feae15cd8088b6791d3a9bbd0c8bd24b928fc
4
+ data.tar.gz: edc309ac1f8393c96e0bb9621b8d9d9dc759defa
5
5
  SHA512:
6
- metadata.gz: e2d30131c03a69051289abc0cdcfaae97c98b5c9f4bef2b00eec1d728e726a682da8515c7a30897604dc693e521594d370e0adc725063d31df77ccaea64fdde8
7
- data.tar.gz: d6420e2b475315e064884817bcd2f197eb80e83e9008bd0f5f2f46f191883d19eedce0dffb16201169eccf00a27812c47858dd811229da482e49c2f41af7c23a
6
+ metadata.gz: f84879fa15a8a8319c1c116f7a5530744d14d0f61dda6e93b8fec50317f4b585ef758815d4e986f35822eb7d596937651fdfa4cf4b03d07a1de21d85db166969
7
+ data.tar.gz: 60065de5f383d1d7c66636770912aa4202a0b97020a6f9303c2150887dc88b0dd43a28a2caec9a293e76bb0021eadf8a85b9a2d3dabceb7034400fab775cce0c
@@ -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:
@@ -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
@@ -28,6 +28,7 @@ gem 'resque'
28
28
  gem 'redis'
29
29
  gem 'faraday'
30
30
  gem 'excon'
31
+ gem 'typhoeus'
31
32
 
32
33
  if RUBY_VERSION >= '1.9'
33
34
  gem 'moped'
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
@@ -169,9 +169,26 @@ module Oboe
169
169
  end
170
170
 
171
171
  # Assure that the Joboe Java Agent was loaded via premain
172
- status = Java::ComTracelyticsAgent::Agent.getStatus
173
- if status == Java::ComTracelyticsAgent::Agent::AgentStatus::UNINITIALIZED
174
- Oboe.loaded = false
175
- else
176
- Oboe.loaded = true
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
@@ -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)
@@ -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
@@ -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}"
@@ -8,8 +8,8 @@ module Oboe
8
8
  module Version
9
9
  MAJOR = 2
10
10
  MINOR = 7
11
- PATCH = 4
12
- BUILD = 1
11
+ PATCH = 5
12
+ BUILD = "wolf1"
13
13
 
14
14
  STRING = [MAJOR, MINOR, PATCH, BUILD].compact.join('.')
15
15
  end
@@ -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
@@ -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 15
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.1
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-10-26 00:00:00.000000000 Z
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: '0'
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