oboe 2.7.0.3-java → 2.7.1.7-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: 5f0a040f9289a43385bb49458b187fbecbfd5ffb
4
- data.tar.gz: 614168d4ec921cf592a3c705cc8cedccaad842b4
3
+ metadata.gz: 2f61d146e29c52fd9cfd7df4b64e37907660c646
4
+ data.tar.gz: 6e0643dfdd8202eab11ddf38f0f5ddc36b67d563
5
5
  SHA512:
6
- metadata.gz: 142a42184a68638aaeb72b9db3ee4e23f8424dc7c884f115109fa05cfe40878a53fcee5cf9b2789806dea560f2fd0dc35662413ee2b054eb292dfbad040648cc
7
- data.tar.gz: ecf5a96ff5be01a9b7185e346e2f8cdba3b56a6facd0d8aa22ccdd1d890b6f901db524870d7c4c30af26b3977a093af42508f0713c6c02ec34aa0c8f2ab777d7
6
+ metadata.gz: f1ee3d5063bae9674ac2083a12a08459aa5103f209d7d7548df53ad5e7edc721b45182fa96483d3ab3e196a6ebb9cd53355d2150b1800fc1194e453a24a61e23
7
+ data.tar.gz: ff2ec048ad2c95013644396bf71a3fb3626b737b51c9be8796d5de835e3c07eee6660d0fa8dd1ed9608ae9bc35df10308b62c8faf8e213a1123026a2ffcca6b7
data/CHANGELOG.md CHANGED
@@ -1,12 +1,19 @@
1
- # oboe 2.7.0 (08/13/2014)
1
+ # oboe 2.7.0.3 (08/19/2014)
2
2
 
3
3
  This minor release includes:
4
4
 
5
- * [JRuby instrumentation](https://github.com/appneta/oboe-ruby/pull/51) is back and better than ever
5
+ * [JRuby instrumentation](https://github.com/appneta/oboe-ruby/pull/51) is back and better than ever.
6
6
  * [Updated moped instrumentation](https://github.com/appneta/oboe-ruby/pull/63) to support moped v2 changes
7
7
  * Simplify start_trace by setting a default param: [#67](https://github.com/appneta/oboe-ruby/pull/67)
8
8
 
9
- Pushed to Rubygems: https://rubygems.org/gems/oboe/versions/2.7.0
9
+ This release also includes [our first pure java platform Ruby gem](https://rubygems.org/gems/oboe/versions/2.7.0.3-java) (no c-extension for JRuby yay!).
10
+
11
+ Pushed to Rubygems:
12
+
13
+ https://rubygems.org/gems/oboe/versions/2.7.0.3
14
+ https://rubygems.org/gems/oboe/versions/2.7.0.3-java
15
+
16
+ Related: http://www.appneta.com/blog/jruby-whole-java-world/
10
17
 
11
18
  # oboe 2.6.8 (07/31/2014)
12
19
 
data/Gemfile CHANGED
@@ -12,7 +12,11 @@ group :development do
12
12
  gem 'debugger', :platform => :mri_19
13
13
  gem 'byebug', :platforms => [ :mri_20, :mri_21 ]
14
14
  gem 'perftools.rb', :platforms => [ :mri_20, :mri_21 ], :require => 'perftools'
15
- gem 'pry'
15
+ if RUBY_VERSION > '1.8.7'
16
+ gem 'pry'
17
+ else
18
+ gem 'pry', '0.9.12.4'
19
+ end
16
20
  end
17
21
 
18
22
  # Instrumented gems
@@ -20,10 +24,16 @@ gem 'dalli'
20
24
  gem 'memcache-client'
21
25
  gem 'cassandra'
22
26
  gem 'mongo'
23
- gem 'moped' if RUBY_VERSION >= '1.9'
24
27
  gem 'resque'
25
28
  gem 'redis'
26
29
 
30
+ if RUBY_VERSION >= '1.9'
31
+ gem 'moped'
32
+ gem 'eventmachine'
33
+ gem 'em-synchrony'
34
+ gem 'em-http-request'
35
+ end
36
+
27
37
  unless defined?(JRUBY_VERSION)
28
38
  gem 'memcached', '1.7.2' if RUBY_VERSION < '2.0.0'
29
39
  gem 'bson_ext' # For Mongo, Yours Truly
data/lib/joboe_metal.rb CHANGED
@@ -1,8 +1,6 @@
1
1
  # Copyright (c) 2013 AppNeta, Inc.
2
2
  # All rights reserved.
3
3
 
4
- require 'base'
5
-
6
4
  module Oboe_metal
7
5
  include_package 'com.tracelytics.joboe'
8
6
  java_import 'com.tracelytics.joboe.LayerUtil'
data/lib/oboe.rb CHANGED
@@ -2,21 +2,24 @@
2
2
  # All rights reserved.
3
3
 
4
4
  begin
5
- require 'oboe/version'
6
- require 'oboe/logger'
7
- require 'oboe/util'
8
- require 'oboe/xtrace'
9
-
10
- # If Oboe_metal is already defined then we are in a PaaS environment
11
- # with an alternate metal (such as Heroku: see the oboe-heroku gem)
12
- unless defined?(Oboe_metal)
5
+ require "oboe/version"
6
+ require "oboe/thread_local"
7
+ require "oboe/logger"
8
+ require "oboe/util"
9
+ require "oboe/xtrace"
10
+
11
+ # If OboeHeroku is already defined then we are in a PaaS environment
12
+ # with an alternate metal (see the oboe-heroku gem)
13
+ unless defined?(OboeHeroku)
14
+ require "oboe/base"
15
+
13
16
  begin
14
17
  if RUBY_PLATFORM == 'java'
15
- require '/usr/local/tracelytics/tracelyticsagent.jar'
16
- require 'joboe_metal'
18
+ require "/usr/local/tracelytics/tracelyticsagent.jar"
19
+ require "joboe_metal"
17
20
  else
18
- require 'oboe_metal.so'
19
- require 'oboe_metal'
21
+ require "oboe_metal.so"
22
+ require "oboe_metal"
20
23
  end
21
24
  rescue LoadError
22
25
  Oboe.loaded = false
@@ -30,18 +33,19 @@ begin
30
33
  end
31
34
  end
32
35
 
33
- require 'oboe/config'
34
- require 'oboe/loading'
35
- require 'method_profiling'
36
- require 'oboe/instrumentation'
37
- require 'oboe/ruby'
36
+ require "oboe/config"
38
37
 
39
- # Frameworks
40
38
  if Oboe.loaded
41
- require 'oboe/frameworks/rails' if defined?(::Rails)
42
- require 'oboe/frameworks/sinatra' if defined?(::Sinatra)
43
- require 'oboe/frameworks/padrino' if defined?(::Padrino)
44
- require 'oboe/frameworks/grape' if defined?(::Grape)
39
+ require "oboe/loading"
40
+ require "method_profiling"
41
+ require "oboe/instrumentation"
42
+ require "oboe/ruby"
43
+
44
+ # Frameworks
45
+ require "oboe/frameworks/rails" if defined?(::Rails)
46
+ require "oboe/frameworks/sinatra" if defined?(::Sinatra)
47
+ require "oboe/frameworks/padrino" if defined?(::Padrino)
48
+ require "oboe/frameworks/grape" if defined?(::Grape)
45
49
  end
46
50
  rescue Exception => e
47
51
  $stderr.puts "[oboe/error] Problem loading: #{e.inspect}"
@@ -23,11 +23,13 @@ ZERO_SAMPLE_RATE_MASK = 0b1111000000000000000000000000
23
23
  ZERO_SAMPLE_SOURCE_MASK = 0b0000111111111111111111111111
24
24
 
25
25
  module OboeBase
26
+ extend ::Oboe::ThreadLocal
27
+
26
28
  attr_accessor :reporter
27
29
  attr_accessor :loaded
28
30
  attr_accessor :sample_source
29
31
  attr_accessor :sample_rate
30
- attr_accessor :layer_op
32
+ thread_local :layer_op
31
33
 
32
34
  def self.included(cls)
33
35
  self.loaded = true
@@ -35,9 +37,9 @@ module OboeBase
35
37
 
36
38
  def tracing_layer_op?(operation)
37
39
  if operation.is_a?(Array)
38
- return operation.include?(@layer_op)
40
+ return operation.include?(Oboe.layer_op)
39
41
  else
40
- return @layer_op == operation
42
+ return Oboe.layer_op == operation
41
43
  end
42
44
  end
43
45
 
@@ -97,3 +99,6 @@ module OboeBase
97
99
  end
98
100
  end
99
101
 
102
+ module Oboe
103
+ extend OboeBase
104
+ end
data/lib/oboe/config.rb CHANGED
@@ -11,10 +11,9 @@ module Oboe
11
11
  module Config
12
12
  @@config = {}
13
13
 
14
- @@instrumentation = [ :cassandra, :dalli, :nethttp, :memcached, :memcache, :mongo,
15
- :moped, :rack, :redis, :resque, :action_controller, :action_view,
16
- :active_record ]
17
-
14
+ @@instrumentation = [ :action_controller, :action_view, :active_record,
15
+ :cassandra, :dalli, :em_http_request, :nethttp, :memcached,
16
+ :memcache, :mongo, :moped, :rack, :redis, :resque]
18
17
  ##
19
18
  # Return the raw nested hash.
20
19
  #
@@ -31,12 +30,16 @@ module Oboe
31
30
  @@config[k][:log_args] = true
32
31
  end
33
32
 
33
+ # Beta instrumentation disabled by default
34
+ Oboe::Config[:em_http_request][:enabled] = false
35
+
34
36
  # Set collect_backtraces defaults
35
37
  Oboe::Config[:action_controller][:collect_backtraces] = true
36
38
  Oboe::Config[:active_record][:collect_backtraces] = true
37
39
  Oboe::Config[:action_view][:collect_backtraces] = true
38
40
  Oboe::Config[:cassandra][:collect_backtraces] = true
39
41
  Oboe::Config[:dalli][:collect_backtraces] = false
42
+ Oboe::Config[:em_http_request][:collect_backtraces] = false
40
43
  Oboe::Config[:memcache][:collect_backtraces] = false
41
44
  Oboe::Config[:memcached][:collect_backtraces] = false
42
45
  Oboe::Config[:mongo][:collect_backtraces] = true
@@ -114,15 +117,19 @@ module Oboe
114
117
  # Assure value is an integer
115
118
  @@config[key.to_sym] = value.to_i
116
119
 
117
- Oboe.set_sample_rate(value)
120
+ Oboe.set_sample_rate(value) if Oboe.loaded
118
121
  end
119
122
 
120
123
  # Update liboboe if updating :tracing_mode
121
124
  if key == :tracing_mode
122
- Oboe.set_tracing_mode(value)
125
+ Oboe.set_tracing_mode(value) if Oboe.loaded
123
126
  end
124
127
  end
125
128
 
129
+ def self.instrumentation_list
130
+ @@instrumentation
131
+ end
132
+
126
133
  def self.method_missing(sym, *args)
127
134
  if sym.to_s =~ /(.+)=$/
128
135
  self[$1] = args.first
@@ -137,4 +144,3 @@ module Oboe
137
144
  end
138
145
 
139
146
  Oboe::Config.initialize
140
-
@@ -0,0 +1,99 @@
1
+ module Oboe
2
+ module Inst
3
+ module EventMachine
4
+ module HttpConnection
5
+ def setup_request_with_oboe(*args, &block)
6
+ report_kvs = {}
7
+ context = Oboe::Context.toString
8
+ blacklisted = Oboe::API.blacklisted?(@uri)
9
+
10
+ begin
11
+ report_kvs["IsService"] = 1
12
+ report_kvs["RemoteURL"] = @uri
13
+ report_kvs["HTTPMethod"] = args[0]
14
+ report_kvs["Blacklisted"] = true if blacklisted
15
+
16
+ if Oboe::Config[:em_http_request][:collect_backtraces]
17
+ report_kvs[:Backtrace] = Oboe::API.backtrace
18
+ end
19
+ rescue => e
20
+ Oboe.logger.debug "[oboe/debug] em-http-request KV error: #{e.inspect}"
21
+ end
22
+
23
+ ::Oboe::API.log_entry("em-http-request", report_kvs)
24
+ client = setup_request_without_oboe(*args, &block)
25
+ client.req.headers["X-Trace"] = context unless blacklisted
26
+ client
27
+ end
28
+ end
29
+
30
+ module HttpClient
31
+ def parse_response_header_with_oboe(*args, &block)
32
+ report_kvs = {}
33
+ xtrace = nil
34
+ blacklisted = Oboe::API.blacklisted?(@uri)
35
+
36
+ begin
37
+ report_kvs[:HTTPStatus] = args[2]
38
+ report_kvs[:Async] = 1
39
+ rescue => e
40
+ Oboe.logger.debug "[oboe/debug] em-http-request KV error: #{e.inspect}"
41
+ end
42
+
43
+ parse_response_header_without_oboe(*args, &block)
44
+
45
+ unless blacklisted
46
+ headers = args[0]
47
+ context = Oboe::Context.toString
48
+ task_id = Oboe::XTrace.task_id(context)
49
+
50
+ if headers.is_a?(Hash) && headers.has_key?("X-Trace")
51
+ xtrace = headers["X-Trace"]
52
+ end
53
+
54
+ if Oboe::XTrace.valid?(xtrace) && Oboe.tracing?
55
+
56
+ # Assure that we received back a valid X-Trace with the same task_id
57
+ if task_id == Oboe::XTrace.task_id(xtrace)
58
+ Oboe::Context.fromString(xtrace)
59
+ else
60
+ Oboe.logger.debug "Mismatched returned X-Trace ID : #{xtrace}"
61
+ end
62
+ end
63
+
64
+ end
65
+
66
+ ::Oboe::API.log_exit("em-http-request", report_kvs)
67
+ end
68
+ end
69
+ end
70
+ end
71
+ end
72
+
73
+ if RUBY_VERSION >= "1.9"
74
+ if defined?(::EventMachine::HttpConnection) && defined?(::EventMachine::HttpClient) && Oboe::Config[:em_http_request][:enabled]
75
+ Oboe.logger.info "[oboe/loading] Instrumenting em-http-request" if Oboe::Config[:verbose]
76
+
77
+ class ::EventMachine::HttpConnection
78
+ include Oboe::Inst::EventMachine::HttpConnection
79
+
80
+ if method_defined?(:setup_request)
81
+ class_eval 'alias :setup_request_without_oboe :setup_request'
82
+ class_eval 'alias :setup_request :setup_request_with_oboe'
83
+ else
84
+ Oboe.logger.warn "[oboe/loading] Couldn't properly instrument em-http-request (:setup_request). Partial traces may occur."
85
+ end
86
+ end
87
+
88
+ class ::EventMachine::HttpClient
89
+ include Oboe::Inst::EventMachine::HttpClient
90
+
91
+ if method_defined?(:parse_response_header)
92
+ class_eval 'alias :parse_response_header_without_oboe :parse_response_header'
93
+ class_eval 'alias :parse_response_header :parse_response_header_with_oboe'
94
+ else
95
+ Oboe.logger.warn "[oboe/loading] Couldn't properly instrument em-http-request (:parse_response_header). Partial traces may occur."
96
+ end
97
+ end
98
+ end
99
+ end
@@ -0,0 +1,18 @@
1
+ # Copyright (c) 2014 AppNeta, Inc.
2
+ # All rights reserved.
3
+
4
+ module Oboe
5
+ module ThreadLocal
6
+ def thread_local(name)
7
+ key = "__#{self}_#{name}__".intern
8
+
9
+ define_method(name) do
10
+ Thread.current[key]
11
+ end
12
+
13
+ define_method(name.to_s + "=") do |value|
14
+ Thread.current[key] = value
15
+ end
16
+ end
17
+ end
18
+ end
data/lib/oboe/version.rb CHANGED
@@ -5,8 +5,8 @@ module Oboe
5
5
  module Version
6
6
  MAJOR = 2
7
7
  MINOR = 7
8
- PATCH = 0
9
- BUILD = 3
8
+ PATCH = 1
9
+ BUILD = 7
10
10
 
11
11
  STRING = [MAJOR, MINOR, PATCH, BUILD].compact.join('.')
12
12
  end
data/lib/oboe_metal.rb CHANGED
@@ -1,8 +1,6 @@
1
1
  # Copyright (c) 2013 AppNeta, Inc.
2
2
  # All rights reserved.
3
3
 
4
- require 'base'
5
-
6
4
  module Oboe
7
5
  extend OboeBase
8
6
  include Oboe_metal
@@ -59,6 +59,7 @@ if defined?(Oboe::Config)
59
59
  # Oboe::Config[:nethttp][:enabled] = true
60
60
  # Oboe::Config[:redis][:enabled] = true
61
61
  # Oboe::Config[:resque][:enabled] = true
62
+ # Oboe::Config[:em_http_request][:enabled] = true
62
63
 
63
64
  #
64
65
  # Enabling/Disabling Backtrace Collection
@@ -80,6 +81,7 @@ if defined?(Oboe::Config)
80
81
  # Oboe::Config[:nethttp][:collect_backtraces] = true
81
82
  # Oboe::Config[:redis][:collect_backtraces] = false
82
83
  # Oboe::Config[:resque][:collect_backtraces] = true
84
+ # Oboe::Config[:em_http_request][:collect_backtraces] = true
83
85
  #
84
86
 
85
87
  #
@@ -0,0 +1,86 @@
1
+ require 'minitest_helper'
2
+
3
+ # Disable this test on JRuby until we can investigate
4
+ # "SOCKET: SET COMM INACTIVITY UNIMPLEMENTED 10"
5
+ # https://travis-ci.org/appneta/oboe-ruby/jobs/33745752
6
+ if RUBY_VERSION >= '1.9' and Oboe::Config[:em_http_request][:enabled] and not defined?(JRUBY_VERSION)
7
+
8
+ describe Oboe::Inst::EventMachine::HttpConnection do
9
+ before do
10
+ clear_all_traces
11
+ @collect_backtraces = Oboe::Config[:em_http_request][:collect_backtraces]
12
+ end
13
+
14
+ after do
15
+ Oboe::Config[:em_http_request][:collect_backtraces] = @collect_backtraces
16
+ end
17
+
18
+ it 'EventMachine::HttpConnection should be loaded, defined and ready' do
19
+ defined?(::EventMachine::HttpConnection).wont_match nil
20
+ end
21
+
22
+ it 'should have oboe methods defined' do
23
+ ::EventMachine::HttpConnection.method_defined?("setup_request_with_oboe").must_equal true
24
+ end
25
+
26
+ it 'should trace request' do
27
+ Oboe::API.start_trace('em-http-request_test', '', {}) do
28
+ EventMachine.run do
29
+ http = EventMachine::HttpRequest.new('http://appneta.com/').get
30
+ http.callback do
31
+ EventMachine.stop
32
+ end
33
+ end
34
+ end
35
+
36
+ traces = get_all_traces
37
+
38
+ traces.count.must_equal 4
39
+ validate_outer_layers(traces, 'em-http-request_test')
40
+
41
+ traces[1]["Layer"].must_equal "em-http-request"
42
+ traces[1]["Label"].must_equal "entry"
43
+ traces[1]["IsService"].must_equal "1"
44
+ traces[1]["RemoteURL"].must_equal "http://appneta.com/"
45
+ traces[1].has_key?('Backtrace').must_equal Oboe::Config[:em_http_request][:collect_backtraces]
46
+
47
+ traces[2]["Layer"].must_equal "em-http-request"
48
+ traces[2]["Label"].must_equal "exit"
49
+ traces[2]["Async"].must_equal "1"
50
+ traces[2].has_key?('Backtrace').must_equal Oboe::Config[:em_http_request][:collect_backtraces]
51
+ end
52
+
53
+ it "should obey :collect_backtraces setting when true" do
54
+ Oboe::Config[:em_http_request][:collect_backtraces] = true
55
+
56
+ Oboe::API.start_trace('em-http-request_test', '', {}) do
57
+ EventMachine.run do
58
+ http = EventMachine::HttpRequest.new('http://appneta.com/').get
59
+ http.callback do
60
+ EventMachine.stop
61
+ end
62
+ end
63
+ end
64
+
65
+ traces = get_all_traces
66
+ layer_has_key(traces, 'em-http-request', 'Backtrace')
67
+ end
68
+
69
+ it "should obey :collect_backtraces setting when false" do
70
+ Oboe::Config[:em_http_request][:collect_backtraces] = false
71
+
72
+ Oboe::API.start_trace('em-http-request_test', '', {}) do
73
+ EventMachine.run do
74
+ http = EventMachine::HttpRequest.new('http://appneta.com/').get
75
+ http.callback do
76
+ EventMachine.stop
77
+ end
78
+ end
79
+ end
80
+
81
+ traces = get_all_traces
82
+ layer_doesnt_have_key(traces, 'em-http-request', 'Backtrace')
83
+ end
84
+ end
85
+
86
+ end # unless defined?(JRUBY_VERSION)
@@ -20,17 +20,40 @@ describe Oboe::Config do
20
20
  # Reset Oboe::Config to defaults
21
21
  Oboe::Config.initialize
22
22
 
23
- instrumentation = [ :cassandra, :dalli, :nethttp, :memcached, :memcache, :mongo,
24
- :moped, :rack, :resque, :action_controller, :action_view,
25
- :active_record ]
23
+ instrumentation = Oboe::Config.instrumentation_list
26
24
 
27
25
  # Verify the number of individual instrumentations
28
- instrumentation.count.must_equal 12
29
-
30
- instrumentation.each do |k|
31
- Oboe::Config[k][:enabled].must_equal true
32
- Oboe::Config[k][:log_args].must_equal true
33
- end
26
+ instrumentation.count.must_equal 14
27
+
28
+ Oboe::Config[:action_controller][:enabled].must_equal true
29
+ Oboe::Config[:action_view][:enabled].must_equal true
30
+ Oboe::Config[:active_record][:enabled].must_equal true
31
+ Oboe::Config[:cassandra][:enabled].must_equal true
32
+ Oboe::Config[:dalli][:enabled].must_equal true
33
+ Oboe::Config[:em_http_request][:enabled].must_equal false
34
+ Oboe::Config[:nethttp][:enabled].must_equal true
35
+ Oboe::Config[:memcached][:enabled].must_equal true
36
+ Oboe::Config[:memcache][:enabled].must_equal true
37
+ Oboe::Config[:mongo][:enabled].must_equal true
38
+ Oboe::Config[:moped][:enabled].must_equal true
39
+ Oboe::Config[:rack][:enabled].must_equal true
40
+ Oboe::Config[:redis][:enabled].must_equal true
41
+ Oboe::Config[:resque][:enabled].must_equal true
42
+
43
+ Oboe::Config[:action_controller][:log_args].must_equal true
44
+ Oboe::Config[:action_view][:log_args].must_equal true
45
+ Oboe::Config[:active_record][:log_args].must_equal true
46
+ Oboe::Config[:cassandra][:log_args].must_equal true
47
+ Oboe::Config[:dalli][:log_args].must_equal true
48
+ Oboe::Config[:em_http_request][:log_args].must_equal true
49
+ Oboe::Config[:nethttp][:log_args].must_equal true
50
+ Oboe::Config[:memcached][:log_args].must_equal true
51
+ Oboe::Config[:memcache][:log_args].must_equal true
52
+ Oboe::Config[:mongo][:log_args].must_equal true
53
+ Oboe::Config[:moped][:log_args].must_equal true
54
+ Oboe::Config[:rack][:log_args].must_equal true
55
+ Oboe::Config[:redis][:log_args].must_equal true
56
+ Oboe::Config[:resque][:log_args].must_equal true
34
57
 
35
58
  Oboe::Config[:resque][:link_workers].must_equal false
36
59
  Oboe::Config[:blacklist].is_a?(Array).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.0.3
4
+ version: 2.7.1.7
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-08-19 00:00:00.000000000 Z
12
+ date: 2014-09-08 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: json
@@ -66,7 +66,6 @@ files:
66
66
  - gemfiles/moped.gemfile
67
67
  - get_version.rb
68
68
  - init.rb
69
- - lib/base.rb
70
69
  - lib/joboe_metal.rb
71
70
  - lib/method_profiling.rb
72
71
  - lib/oboe.rb
@@ -77,6 +76,7 @@ files:
77
76
  - lib/oboe/api/profiling.rb
78
77
  - lib/oboe/api/tracing.rb
79
78
  - lib/oboe/api/util.rb
79
+ - lib/oboe/base.rb
80
80
  - lib/oboe/config.rb
81
81
  - lib/oboe/frameworks/grape.rb
82
82
  - lib/oboe/frameworks/padrino.rb
@@ -99,6 +99,7 @@ files:
99
99
  - lib/oboe/frameworks/sinatra/templates.rb
100
100
  - lib/oboe/inst/cassandra.rb
101
101
  - lib/oboe/inst/dalli.rb
102
+ - lib/oboe/inst/em-http-request.rb
102
103
  - lib/oboe/inst/http.rb
103
104
  - lib/oboe/inst/memcache.rb
104
105
  - lib/oboe/inst/memcached.rb
@@ -111,6 +112,7 @@ files:
111
112
  - lib/oboe/loading.rb
112
113
  - lib/oboe/logger.rb
113
114
  - lib/oboe/ruby.rb
115
+ - lib/oboe/thread_local.rb
114
116
  - lib/oboe/util.rb
115
117
  - lib/oboe/version.rb
116
118
  - lib/oboe/xtrace.rb
@@ -127,6 +129,7 @@ files:
127
129
  - test/frameworks/sinatra_test.rb
128
130
  - test/instrumentation/cassandra_test.rb
129
131
  - test/instrumentation/dalli_test.rb
132
+ - test/instrumentation/em_http_request_test.rb
130
133
  - test/instrumentation/http_test.rb
131
134
  - test/instrumentation/memcache_test.rb
132
135
  - test/instrumentation/memcached_test.rb
@@ -188,6 +191,7 @@ test_files:
188
191
  - test/instrumentation/redis_sets_test.rb
189
192
  - test/instrumentation/http_test.rb
190
193
  - test/instrumentation/resque_test.rb
194
+ - test/instrumentation/em_http_request_test.rb
191
195
  - test/instrumentation/moped_test.rb
192
196
  - test/instrumentation/rack_test.rb
193
197
  - test/instrumentation/memcache_test.rb