oboe 2.2.6 → 2.3.2
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.
- data/.gitignore +6 -1
- data/Appraisals +20 -0
- data/Gemfile +16 -20
- data/README.md +280 -10
- data/Rakefile +63 -7
- data/ext/oboe_metal/extconf.rb +2 -1
- data/ext/oboe_metal/tests/test.rb +4 -0
- data/gemfiles/rails2.3.gemfile +18 -0
- data/gemfiles/rails2.3.gemfile.lock +95 -0
- data/gemfiles/rails3.0.gemfile +18 -0
- data/gemfiles/rails3.0.gemfile.lock +142 -0
- data/gemfiles/rails3.1.gemfile +18 -0
- data/gemfiles/rails3.1.gemfile.lock +152 -0
- data/gemfiles/rails3.2.gemfile +18 -0
- data/gemfiles/rails3.2.gemfile.lock +150 -0
- data/init.rb +1 -1
- data/lib/joboe_metal.rb +52 -34
- data/lib/method_profiling.rb +1 -1
- data/lib/oboe.rb +6 -5
- data/lib/oboe/api.rb +1 -1
- data/lib/oboe/api/layerinit.rb +3 -0
- data/lib/oboe/api/logging.rb +1 -1
- data/lib/oboe/api/memcache.rb +2 -2
- data/lib/oboe/api/profiling.rb +6 -4
- data/lib/oboe/api/tracing.rb +1 -1
- data/lib/oboe/api/util.rb +1 -1
- data/lib/oboe/config.rb +29 -10
- data/lib/oboe/frameworks/rails.rb +6 -7
- data/lib/oboe/frameworks/rails/inst/action_controller.rb +1 -1
- data/lib/oboe/frameworks/rails/inst/action_view.rb +3 -3
- data/lib/oboe/frameworks/rails/inst/action_view_2x.rb +3 -3
- data/lib/oboe/frameworks/rails/inst/action_view_30.rb +3 -3
- data/lib/oboe/frameworks/rails/inst/active_record.rb +1 -1
- data/lib/oboe/frameworks/rails/inst/connection_adapters/mysql.rb +1 -1
- data/lib/oboe/frameworks/rails/inst/connection_adapters/mysql2.rb +1 -1
- data/lib/oboe/frameworks/rails/inst/connection_adapters/oracle.rb +1 -1
- data/lib/oboe/frameworks/rails/inst/connection_adapters/postgresql.rb +1 -1
- data/lib/oboe/frameworks/rails/inst/connection_adapters/utils.rb +2 -2
- data/lib/oboe/inst/cassandra.rb +2 -2
- data/lib/oboe/inst/dalli.rb +8 -4
- data/lib/oboe/inst/http.rb +38 -34
- data/lib/oboe/inst/memcache.rb +12 -3
- data/lib/oboe/inst/memcached.rb +10 -5
- data/lib/oboe/inst/mongo.rb +19 -15
- data/lib/oboe/inst/moped.rb +120 -51
- data/lib/oboe/inst/rack.rb +14 -7
- data/lib/oboe/inst/resque.rb +2 -2
- data/lib/oboe/instrumentation.rb +3 -0
- data/lib/oboe/loading.rb +2 -6
- data/lib/oboe/logger.rb +3 -1
- data/lib/oboe/ruby.rb +3 -0
- data/lib/oboe/util.rb +2 -0
- data/lib/oboe/version.rb +5 -2
- data/lib/oboe_fu.rb +2 -0
- data/lib/oboe_metal.rb +23 -10
- data/lib/rails/generators/oboe/install_generator.rb +5 -3
- data/lib/rails/generators/oboe/templates/oboe_initializer.rb +24 -2
- data/oboe.gemspec +20 -14
- data/test/instrumentation/cassandra_test.rb +331 -0
- data/test/instrumentation/dalli_test.rb +157 -0
- data/test/instrumentation/http_test.rb +74 -0
- data/test/instrumentation/memcache_test.rb +251 -0
- data/test/instrumentation/memcached_test.rb +218 -0
- data/test/instrumentation/mongo_test.rb +406 -0
- data/test/instrumentation/moped_test.rb +468 -0
- data/test/instrumentation/rack_test.rb +55 -0
- data/test/instrumentation/resque_test.rb +62 -0
- data/test/minitest_helper.rb +113 -0
- data/test/support/config_test.rb +41 -0
- metadata +56 -35
- data/Gemfile.lock +0 -103
- data/Guardfile +0 -24
- data/install.rb +0 -1
- data/spec/instrumentation/cassandra_spec.rb +0 -18
- data/spec/instrumentation/dalli_spec.rb +0 -14
- data/spec/instrumentation/http_spec.rb +0 -14
- data/spec/instrumentation/memcache_spec.rb +0 -19
- data/spec/instrumentation/memcached_spec.rb +0 -22
- data/spec/instrumentation/mongo_spec.rb +0 -29
- data/spec/instrumentation/moped_spec.rb +0 -41
- data/spec/instrumentation/resque_spec.rb +0 -18
- data/spec/spec_helper.rb +0 -15
- data/spec/support/config_spec.rb +0 -27
- data/spec/support/oboe_spec.rb +0 -4
data/Guardfile
DELETED
@@ -1,24 +0,0 @@
|
|
1
|
-
# A sample Guardfile
|
2
|
-
# More info at https://github.com/guard/guard#readme
|
3
|
-
|
4
|
-
guard 'rspec' do
|
5
|
-
watch(%r{^spec/.+_spec\.rb$})
|
6
|
-
watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
|
7
|
-
watch('spec/spec_helper.rb') { "spec" }
|
8
|
-
|
9
|
-
# Rails example
|
10
|
-
watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
|
11
|
-
watch(%r{^app/(.*)(\.erb|\.haml)$}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
|
12
|
-
watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] }
|
13
|
-
watch(%r{^spec/support/(.+)\.rb$}) { "spec" }
|
14
|
-
watch('config/routes.rb') { "spec/routing" }
|
15
|
-
watch('app/controllers/application_controller.rb') { "spec/controllers" }
|
16
|
-
|
17
|
-
# Capybara features specs
|
18
|
-
watch(%r{^app/views/(.+)/.*\.(erb|haml)$}) { |m| "spec/features/#{m[1]}_spec.rb" }
|
19
|
-
|
20
|
-
# Turnip features and steps
|
21
|
-
watch(%r{^spec/acceptance/(.+)\.feature$})
|
22
|
-
watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'spec/acceptance' }
|
23
|
-
end
|
24
|
-
|
data/install.rb
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
#Install hooks here
|
@@ -1,18 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Oboe::Inst::Cassandra do
|
4
|
-
it 'Stock Cassandra should be loaded, defined and ready' do
|
5
|
-
defined?(::Cassandra).should_not == nil
|
6
|
-
end
|
7
|
-
|
8
|
-
it 'Cassandra should have oboe methods defined' do
|
9
|
-
[ :insert, :remove, :count_columns, :get_columns, :multi_get_columns, :get,
|
10
|
-
:multi_get, :get_range_single, :get_range_batch, :get_indexed_slices,
|
11
|
-
:create_index, :drop_index, :add_column_family, :drop_column_family,
|
12
|
-
:add_keyspace, :drop_keyspace ].each do |m|
|
13
|
-
::Cassandra.method_defined?("#{m}_with_oboe").should == true
|
14
|
-
end
|
15
|
-
# Special 'exists?' case
|
16
|
-
::Cassandra.method_defined?("exists_with_oboe?").should == true
|
17
|
-
end
|
18
|
-
end
|
@@ -1,14 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Oboe::Inst::Dalli do
|
4
|
-
it 'Stock Dalli should be loaded, defined and ready' do
|
5
|
-
defined?(::Dalli).should_not == nil
|
6
|
-
defined?(::Dalli::Client).should_not == nil
|
7
|
-
end
|
8
|
-
|
9
|
-
it 'Dalli should have oboe methods defined' do
|
10
|
-
[ :perform_with_oboe, :get_multi_with_oboe ].each do |m|
|
11
|
-
::Dalli::Client.method_defined?(m).should == true
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
@@ -1,14 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
|
4
|
-
describe Oboe::Inst do
|
5
|
-
it 'Net::HTTP should be defined and ready' do
|
6
|
-
defined?(::Net::HTTP).should_not == nil
|
7
|
-
end
|
8
|
-
|
9
|
-
it 'Net::HTTP should have oboe methods defined' do
|
10
|
-
[ :request_with_oboe ].each do |m|
|
11
|
-
::Net::HTTP.method_defined?(m).should == true
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
require 'memcache'
|
3
|
-
|
4
|
-
describe Oboe::API::Memcache do
|
5
|
-
it 'Stock MemCache should be loaded, defined and ready' do
|
6
|
-
defined?(::MemCache).should_not == nil
|
7
|
-
end
|
8
|
-
|
9
|
-
it 'MemCache should have oboe methods defined' do
|
10
|
-
Oboe::API::Memcache::MEMCACHE_OPS.each do |m|
|
11
|
-
if ::MemCache.method_defined?(m)
|
12
|
-
::MemCache.method_defined?("#{m}_with_oboe").should == true
|
13
|
-
end
|
14
|
-
::MemCache.method_defined?(:request_setup_with_oboe).should == true
|
15
|
-
::MemCache.method_defined?(:cache_get_with_oboe).should == true
|
16
|
-
::MemCache.method_defined?(:get_multi_with_oboe).should == true
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
if (RUBY_VERSION =~ /^1./) == 0
|
4
|
-
describe Oboe::Inst::Memcached do
|
5
|
-
require 'memcached'
|
6
|
-
require 'memcached/rails'
|
7
|
-
|
8
|
-
it 'Stock Memcached should be loaded, defined and ready' do
|
9
|
-
defined?(::Memcached).should_not == nil
|
10
|
-
defined?(::Memcached::Rails).should_not == nil
|
11
|
-
end
|
12
|
-
|
13
|
-
it 'Memcached should have oboe methods defined' do
|
14
|
-
Oboe::API::Memcache::MEMCACHE_OPS.each do |m|
|
15
|
-
if ::Memcached.method_defined?(m)
|
16
|
-
::Memcached.method_defined?("#{m}_with_oboe").should == true
|
17
|
-
end
|
18
|
-
::Memcached::Rails.method_defined?(:get_multi_with_oboe).should == true
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
@@ -1,29 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Oboe::Inst::Mongo do
|
4
|
-
it 'Stock Mongo should be loaded, defined and ready' do
|
5
|
-
defined?(::Mongo).should_not == nil
|
6
|
-
defined?(::Mongo::DB).should_not == nil
|
7
|
-
defined?(::Mongo::Cursor).should_not == nil
|
8
|
-
defined?(::Mongo::Collection).should_not == nil
|
9
|
-
end
|
10
|
-
|
11
|
-
it 'Mongo should have oboe methods defined' do
|
12
|
-
Oboe::Inst::Mongo::DB_OPS.each do |m|
|
13
|
-
::Mongo::DB.method_defined?("#{m}_with_oboe").should == true
|
14
|
-
end
|
15
|
-
Oboe::Inst::Mongo::CURSOR_OPS.each do |m|
|
16
|
-
::Mongo::Cursor.method_defined?("#{m}_with_oboe").should == true
|
17
|
-
end
|
18
|
-
Oboe::Inst::Mongo::COLL_WRITE_OPS.each do |m|
|
19
|
-
::Mongo::Collection.method_defined?("#{m}_with_oboe").should == true
|
20
|
-
end
|
21
|
-
Oboe::Inst::Mongo::COLL_QUERY_OPS.each do |m|
|
22
|
-
::Mongo::Collection.method_defined?("#{m}_with_oboe").should == true
|
23
|
-
end
|
24
|
-
Oboe::Inst::Mongo::COLL_INDEX_OPS.each do |m|
|
25
|
-
::Mongo::Collection.method_defined?("#{m}_with_oboe").should == true
|
26
|
-
end
|
27
|
-
::Mongo::Collection.method_defined?(:oboe_collect).should == true
|
28
|
-
end
|
29
|
-
end
|
@@ -1,41 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Oboe::Inst::Moped do
|
4
|
-
it 'Stock Moped should be loaded, defined and ready' do
|
5
|
-
defined?(::Moped).should_not == nil
|
6
|
-
defined?(::Moped::Database).should_not == nil
|
7
|
-
defined?(::Moped::Indexes).should_not == nil
|
8
|
-
defined?(::Moped::Query).should_not == nil
|
9
|
-
defined?(::Moped::Collection).should_not == nil
|
10
|
-
end
|
11
|
-
|
12
|
-
it 'Moped should have oboe methods defined' do
|
13
|
-
#::Moped::Database
|
14
|
-
Oboe::Inst::Moped::DB_OPS.each do |m|
|
15
|
-
::Moped::Database.method_defined?("#{m}_with_oboe").should == true
|
16
|
-
end
|
17
|
-
::Moped::Database.method_defined?(:extract_trace_details).should == true
|
18
|
-
::Moped::Database.method_defined?(:command_with_oboe).should == true
|
19
|
-
::Moped::Database.method_defined?(:drop_with_oboe).should == true
|
20
|
-
|
21
|
-
#::Moped::Indexes
|
22
|
-
Oboe::Inst::Moped::INDEX_OPS.each do |m|
|
23
|
-
::Moped::Indexes.method_defined?("#{m}_with_oboe").should == true
|
24
|
-
end
|
25
|
-
::Moped::Indexes.method_defined?(:extract_trace_details).should == true
|
26
|
-
::Moped::Indexes.method_defined?(:create_with_oboe).should == true
|
27
|
-
::Moped::Indexes.method_defined?(:drop_with_oboe).should == true
|
28
|
-
|
29
|
-
#::Moped::Query
|
30
|
-
Oboe::Inst::Moped::QUERY_OPS.each do |m|
|
31
|
-
::Moped::Query.method_defined?("#{m}_with_oboe").should == true
|
32
|
-
end
|
33
|
-
::Moped::Query.method_defined?(:extract_trace_details).should == true
|
34
|
-
|
35
|
-
#::Moped::Collection
|
36
|
-
Oboe::Inst::Moped::COLLECTION_OPS.each do |m|
|
37
|
-
::Moped::Collection.method_defined?("#{m}_with_oboe").should == true
|
38
|
-
end
|
39
|
-
::Moped::Collection.method_defined?(:extract_trace_details).should == true
|
40
|
-
end
|
41
|
-
end
|
@@ -1,18 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Oboe::Inst::Resque do
|
4
|
-
it 'Stock Resque should be loaded, defined and ready' do
|
5
|
-
defined?(::Resque).should_not == nil
|
6
|
-
defined?(::Resque::Worker).should_not == nil
|
7
|
-
defined?(::Resque::Job).should_not == nil
|
8
|
-
end
|
9
|
-
|
10
|
-
it 'Resque should have oboe methods defined' do
|
11
|
-
[ :enqueue, :enqueue_to, :dequeue ].each do |m|
|
12
|
-
::Resque.method_defined?("#{m}_with_oboe").should == true
|
13
|
-
end
|
14
|
-
|
15
|
-
::Resque::Worker.method_defined?("perform_with_oboe").should == true
|
16
|
-
::Resque::Job.method_defined?("fail_with_oboe").should == true
|
17
|
-
end
|
18
|
-
end
|
data/spec/spec_helper.rb
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
require 'bundler'
|
3
|
-
|
4
|
-
Bundler.require(:default, :test)
|
5
|
-
|
6
|
-
RSpec.configure do |config|
|
7
|
-
config.color_enabled = true
|
8
|
-
config.formatter = 'documentation'
|
9
|
-
end
|
10
|
-
|
11
|
-
# Preload memcache-client
|
12
|
-
require 'memcache'
|
13
|
-
|
14
|
-
Oboe::Ruby.initialize
|
15
|
-
|
data/spec/support/config_spec.rb
DELETED
@@ -1,27 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Oboe::Config do
|
4
|
-
|
5
|
-
it 'should have the correct default values' do
|
6
|
-
Oboe::Config[:verbose].should == false
|
7
|
-
Oboe::Config[:sample_rate].should == 1000000
|
8
|
-
Oboe::Config[:tracing_mode].should == "through"
|
9
|
-
Oboe::Config[:reporter_host].should == "127.0.0.1"
|
10
|
-
end
|
11
|
-
|
12
|
-
it 'should have the correct instrumentation defaults' do
|
13
|
-
|
14
|
-
instrumentation = [ :cassandra, :dalli, :nethttp, :memcached, :memcache, :mongo,
|
15
|
-
:moped, :rack, :resque, :action_controller, :action_view,
|
16
|
-
:active_record ]
|
17
|
-
|
18
|
-
# Verify the number of individual instrumentations
|
19
|
-
instrumentation.count.should == 12
|
20
|
-
|
21
|
-
instrumentation.each do |k|
|
22
|
-
Oboe::Config[k][:enabled].should == true
|
23
|
-
Oboe::Config[k][:log_args].should == true
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
end
|
data/spec/support/oboe_spec.rb
DELETED