oboe 2.7.0.3-java → 2.7.1.7-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 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