oboe 2.7.0.3-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 +7 -0
- data/.gitignore +8 -0
- data/.travis.yml +51 -0
- data/Appraisals +10 -0
- data/CHANGELOG.md +223 -0
- data/Gemfile +49 -0
- data/LICENSE +199 -0
- data/README.md +380 -0
- data/Rakefile +106 -0
- data/ext/oboe_metal/extconf.rb +61 -0
- data/ext/oboe_metal/noop/noop.c +7 -0
- data/ext/oboe_metal/src/bson/bson.h +221 -0
- data/ext/oboe_metal/src/bson/platform_hacks.h +91 -0
- data/ext/oboe_metal/src/oboe.h +275 -0
- data/ext/oboe_metal/src/oboe.hpp +352 -0
- data/ext/oboe_metal/src/oboe_wrap.cxx +3886 -0
- data/ext/oboe_metal/tests/test.rb +11 -0
- data/gemfiles/mongo.gemfile +33 -0
- data/gemfiles/moped.gemfile +33 -0
- data/get_version.rb +5 -0
- data/init.rb +4 -0
- data/lib/base.rb +99 -0
- data/lib/joboe_metal.rb +185 -0
- data/lib/method_profiling.rb +70 -0
- data/lib/oboe.rb +50 -0
- data/lib/oboe/api.rb +14 -0
- data/lib/oboe/api/layerinit.rb +99 -0
- data/lib/oboe/api/logging.rb +129 -0
- data/lib/oboe/api/memcache.rb +29 -0
- data/lib/oboe/api/profiling.rb +50 -0
- data/lib/oboe/api/tracing.rb +134 -0
- data/lib/oboe/api/util.rb +117 -0
- data/lib/oboe/config.rb +140 -0
- data/lib/oboe/frameworks/grape.rb +74 -0
- data/lib/oboe/frameworks/padrino.rb +66 -0
- data/lib/oboe/frameworks/padrino/templates.rb +59 -0
- data/lib/oboe/frameworks/rails.rb +139 -0
- data/lib/oboe/frameworks/rails/helpers/rum/rum_ajax_header.js.erb +5 -0
- data/lib/oboe/frameworks/rails/helpers/rum/rum_footer.js.erb +1 -0
- data/lib/oboe/frameworks/rails/helpers/rum/rum_header.js.erb +3 -0
- data/lib/oboe/frameworks/rails/inst/action_controller.rb +123 -0
- data/lib/oboe/frameworks/rails/inst/action_view.rb +56 -0
- data/lib/oboe/frameworks/rails/inst/action_view_2x.rb +54 -0
- data/lib/oboe/frameworks/rails/inst/action_view_30.rb +48 -0
- data/lib/oboe/frameworks/rails/inst/active_record.rb +24 -0
- data/lib/oboe/frameworks/rails/inst/connection_adapters/mysql.rb +43 -0
- data/lib/oboe/frameworks/rails/inst/connection_adapters/mysql2.rb +28 -0
- data/lib/oboe/frameworks/rails/inst/connection_adapters/oracle.rb +18 -0
- data/lib/oboe/frameworks/rails/inst/connection_adapters/postgresql.rb +30 -0
- data/lib/oboe/frameworks/rails/inst/connection_adapters/utils.rb +118 -0
- data/lib/oboe/frameworks/sinatra.rb +96 -0
- data/lib/oboe/frameworks/sinatra/templates.rb +56 -0
- data/lib/oboe/inst/cassandra.rb +281 -0
- data/lib/oboe/inst/dalli.rb +75 -0
- data/lib/oboe/inst/http.rb +72 -0
- data/lib/oboe/inst/memcache.rb +105 -0
- data/lib/oboe/inst/memcached.rb +96 -0
- data/lib/oboe/inst/mongo.rb +240 -0
- data/lib/oboe/inst/moped.rb +474 -0
- data/lib/oboe/inst/rack.rb +81 -0
- data/lib/oboe/inst/redis.rb +273 -0
- data/lib/oboe/inst/resque.rb +193 -0
- data/lib/oboe/instrumentation.rb +18 -0
- data/lib/oboe/loading.rb +98 -0
- data/lib/oboe/logger.rb +41 -0
- data/lib/oboe/ruby.rb +11 -0
- data/lib/oboe/util.rb +129 -0
- data/lib/oboe/version.rb +13 -0
- data/lib/oboe/xtrace.rb +52 -0
- data/lib/oboe_metal.rb +140 -0
- data/lib/rails/generators/oboe/install_generator.rb +76 -0
- data/lib/rails/generators/oboe/templates/oboe_initializer.rb +94 -0
- data/oboe.gemspec +29 -0
- data/release.sh +65 -0
- data/test/frameworks/apps/grape_simple.rb +10 -0
- data/test/frameworks/apps/padrino_simple.rb +41 -0
- data/test/frameworks/apps/sinatra_simple.rb +20 -0
- data/test/frameworks/grape_test.rb +27 -0
- data/test/frameworks/padrino_test.rb +25 -0
- data/test/frameworks/sinatra_test.rb +25 -0
- data/test/instrumentation/cassandra_test.rb +381 -0
- data/test/instrumentation/dalli_test.rb +164 -0
- data/test/instrumentation/http_test.rb +97 -0
- data/test/instrumentation/memcache_test.rb +251 -0
- data/test/instrumentation/memcached_test.rb +226 -0
- data/test/instrumentation/mongo_test.rb +462 -0
- data/test/instrumentation/moped_test.rb +473 -0
- data/test/instrumentation/rack_test.rb +73 -0
- data/test/instrumentation/redis_hashes_test.rb +265 -0
- data/test/instrumentation/redis_keys_test.rb +318 -0
- data/test/instrumentation/redis_lists_test.rb +310 -0
- data/test/instrumentation/redis_misc_test.rb +160 -0
- data/test/instrumentation/redis_sets_test.rb +293 -0
- data/test/instrumentation/redis_sortedsets_test.rb +325 -0
- data/test/instrumentation/redis_strings_test.rb +333 -0
- data/test/instrumentation/resque_test.rb +62 -0
- data/test/minitest_helper.rb +148 -0
- data/test/profiling/method_test.rb +198 -0
- data/test/support/config_test.rb +39 -0
- data/test/support/liboboe_settings_test.rb +46 -0
- data/test/support/xtrace_test.rb +35 -0
- metadata +200 -0
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
require 'minitest_helper'
|
|
2
|
+
|
|
3
|
+
describe OboeMethodProfiling do
|
|
4
|
+
before do
|
|
5
|
+
clear_all_traces
|
|
6
|
+
# Conditionally Undefine TestWorker
|
|
7
|
+
# http://stackoverflow.com/questions/11503558/how-to-undefine-class-in-ruby
|
|
8
|
+
Object.send(:remove_const, :TestWorker) if defined?(TestWorker)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
it 'should be loaded, defined and ready' do
|
|
12
|
+
defined?(::OboeMethodProfiling).wont_match nil
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
it 'should trace Class methods' do
|
|
16
|
+
class TestWorker
|
|
17
|
+
def self.do_work
|
|
18
|
+
sleep 1
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
class << self
|
|
22
|
+
include OboeMethodProfiling
|
|
23
|
+
profile_method :do_work, 'do_work'
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
::Oboe::API.start_trace('method_profiling', '', {}) do
|
|
28
|
+
# Call the profiled class method
|
|
29
|
+
TestWorker.do_work
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
traces = get_all_traces
|
|
33
|
+
traces.count.must_equal 4
|
|
34
|
+
|
|
35
|
+
validate_outer_layers(traces, 'method_profiling')
|
|
36
|
+
|
|
37
|
+
kvs = {}
|
|
38
|
+
kvs["Label"] = 'profile_entry'
|
|
39
|
+
kvs["Language"] = "ruby"
|
|
40
|
+
kvs["ProfileName"] = "do_work"
|
|
41
|
+
kvs["FunctionName"] = "do_work"
|
|
42
|
+
kvs["Class"] = "TestWorker"
|
|
43
|
+
|
|
44
|
+
validate_event_keys(traces[1], kvs)
|
|
45
|
+
|
|
46
|
+
traces[1].has_key?("Layer").must_equal false
|
|
47
|
+
traces[1].has_key?("File").must_equal true
|
|
48
|
+
traces[1].has_key?("LineNumber").must_equal true
|
|
49
|
+
|
|
50
|
+
kvs.clear
|
|
51
|
+
kvs["Label"] = "profile_exit"
|
|
52
|
+
kvs["Language"] = "ruby"
|
|
53
|
+
kvs["ProfileName"] = "do_work"
|
|
54
|
+
|
|
55
|
+
validate_event_keys(traces[2], kvs)
|
|
56
|
+
traces[2].has_key?("Layer").must_equal false
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
it 'should trace Instance methods' do
|
|
60
|
+
class TestWorker
|
|
61
|
+
def do_work
|
|
62
|
+
sleep 1
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
include OboeMethodProfiling
|
|
66
|
+
profile_method :do_work, 'do_work'
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
::Oboe::API.start_trace('method_profiling', '', {}) do
|
|
70
|
+
# Call the profiled class method
|
|
71
|
+
tw = TestWorker.new
|
|
72
|
+
tw.do_work
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
traces = get_all_traces
|
|
76
|
+
traces.count.must_equal 4
|
|
77
|
+
|
|
78
|
+
validate_outer_layers(traces, 'method_profiling')
|
|
79
|
+
|
|
80
|
+
kvs = {}
|
|
81
|
+
kvs["Label"] = 'profile_entry'
|
|
82
|
+
kvs["Language"] = "ruby"
|
|
83
|
+
kvs["ProfileName"] = "do_work"
|
|
84
|
+
kvs["FunctionName"] = "do_work"
|
|
85
|
+
kvs["Class"] = "TestWorker"
|
|
86
|
+
|
|
87
|
+
validate_event_keys(traces[1], kvs)
|
|
88
|
+
|
|
89
|
+
traces[1].has_key?("Layer").must_equal false
|
|
90
|
+
traces[1].has_key?("File").must_equal true
|
|
91
|
+
traces[1].has_key?("LineNumber").must_equal true
|
|
92
|
+
|
|
93
|
+
kvs.clear
|
|
94
|
+
kvs["Label"] = "profile_exit"
|
|
95
|
+
kvs["Language"] = "ruby"
|
|
96
|
+
kvs["ProfileName"] = "do_work"
|
|
97
|
+
|
|
98
|
+
validate_event_keys(traces[2], kvs)
|
|
99
|
+
traces[2].has_key?("Layer").must_equal false
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
it 'should trace Module class methods' do
|
|
103
|
+
module TestWorker
|
|
104
|
+
def self.do_work
|
|
105
|
+
sleep 1
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
class << self
|
|
109
|
+
include OboeMethodProfiling
|
|
110
|
+
profile_method :do_work, 'do_work'
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
::Oboe::API.start_trace('method_profiling', '', {}) do
|
|
115
|
+
# Call the profiled class method
|
|
116
|
+
TestWorker.do_work
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
traces = get_all_traces
|
|
120
|
+
traces.count.must_equal 4
|
|
121
|
+
validate_outer_layers(traces, 'method_profiling')
|
|
122
|
+
|
|
123
|
+
kvs = {}
|
|
124
|
+
kvs["Label"] = 'profile_entry'
|
|
125
|
+
kvs["Language"] = "ruby"
|
|
126
|
+
kvs["ProfileName"] = "do_work"
|
|
127
|
+
kvs["FunctionName"] = "do_work"
|
|
128
|
+
kvs["Module"] = "TestWorker"
|
|
129
|
+
|
|
130
|
+
validate_event_keys(traces[1], kvs)
|
|
131
|
+
|
|
132
|
+
traces[1].has_key?("Layer").must_equal false
|
|
133
|
+
traces[1].has_key?("File").must_equal true
|
|
134
|
+
traces[1].has_key?("LineNumber").must_equal true
|
|
135
|
+
|
|
136
|
+
kvs.clear
|
|
137
|
+
kvs["Label"] = "profile_exit"
|
|
138
|
+
kvs["Language"] = "ruby"
|
|
139
|
+
kvs["ProfileName"] = "do_work"
|
|
140
|
+
|
|
141
|
+
validate_event_keys(traces[2], kvs)
|
|
142
|
+
traces[2].has_key?("Layer").must_equal false
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
it 'should not store arguments and return value by default' do
|
|
146
|
+
class TestWorker
|
|
147
|
+
def self.do_work(s, i, a, h)
|
|
148
|
+
sleep 1
|
|
149
|
+
return "the zebra is loose"
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
class << self
|
|
153
|
+
include OboeMethodProfiling
|
|
154
|
+
# Default call method
|
|
155
|
+
profile_method :do_work, 'do_work'
|
|
156
|
+
end
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
::Oboe::API.start_trace('method_profiling', '', {}) do
|
|
160
|
+
# Call the profiled class method
|
|
161
|
+
TestWorker.do_work('String Argument', 203984, ["1", "2", 3], { :color => :black })
|
|
162
|
+
end
|
|
163
|
+
|
|
164
|
+
traces = get_all_traces
|
|
165
|
+
traces.count.must_equal 4
|
|
166
|
+
|
|
167
|
+
traces[1].has_key?("Args").must_equal false
|
|
168
|
+
traces[2].has_key?("ReturnValue").must_equal false
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
it 'should store arguments and return value when asked' do
|
|
172
|
+
class TestWorker
|
|
173
|
+
def self.do_work(s, i, a, h)
|
|
174
|
+
sleep 1
|
|
175
|
+
return "the zebra is loose"
|
|
176
|
+
end
|
|
177
|
+
|
|
178
|
+
class << self
|
|
179
|
+
include OboeMethodProfiling
|
|
180
|
+
profile_method :do_work, 'do_work', true, true
|
|
181
|
+
end
|
|
182
|
+
end
|
|
183
|
+
|
|
184
|
+
::Oboe::API.start_trace('method_profiling', '', {}) do
|
|
185
|
+
# Call the profiled class method
|
|
186
|
+
TestWorker.do_work('String Argument', 203984, ["1", "2", 3], { :color => :black })
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
traces = get_all_traces
|
|
190
|
+
traces.count.must_equal 4
|
|
191
|
+
|
|
192
|
+
traces[1].has_key?("Args").must_equal true
|
|
193
|
+
traces[1]["Args"].must_equal "\"String Argument\"\n203984\n[\"1\", \"2\", 3]\n{:color=>:black}\n"
|
|
194
|
+
|
|
195
|
+
traces[2].has_key?("ReturnValue").must_equal true
|
|
196
|
+
traces[2]["ReturnValue"].must_equal "\"the zebra is loose\"\n"
|
|
197
|
+
end
|
|
198
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
require 'minitest_helper'
|
|
2
|
+
|
|
3
|
+
describe Oboe::Config do
|
|
4
|
+
after do
|
|
5
|
+
# Set back to always trace mode
|
|
6
|
+
Oboe::Config[:tracing_mode] = "always"
|
|
7
|
+
Oboe::Config[:sample_rate] = 1000000
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
it 'should have the correct default values' do
|
|
11
|
+
# Reset Oboe::Config to defaults
|
|
12
|
+
Oboe::Config.initialize
|
|
13
|
+
|
|
14
|
+
Oboe::Config[:verbose].must_equal false
|
|
15
|
+
Oboe::Config[:tracing_mode].must_equal "through"
|
|
16
|
+
Oboe::Config[:reporter_host].must_equal "127.0.0.1"
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
it 'should have the correct instrumentation defaults' do
|
|
20
|
+
# Reset Oboe::Config to defaults
|
|
21
|
+
Oboe::Config.initialize
|
|
22
|
+
|
|
23
|
+
instrumentation = [ :cassandra, :dalli, :nethttp, :memcached, :memcache, :mongo,
|
|
24
|
+
:moped, :rack, :resque, :action_controller, :action_view,
|
|
25
|
+
:active_record ]
|
|
26
|
+
|
|
27
|
+
# 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
|
|
34
|
+
|
|
35
|
+
Oboe::Config[:resque][:link_workers].must_equal false
|
|
36
|
+
Oboe::Config[:blacklist].is_a?(Array).must_equal true
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
end
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
require 'minitest_helper'
|
|
2
|
+
require 'rack/test'
|
|
3
|
+
require 'rack/lobster'
|
|
4
|
+
require 'oboe/inst/rack'
|
|
5
|
+
|
|
6
|
+
unless defined?(JRUBY_VERSION)
|
|
7
|
+
Oboe::Config[:tracing_mode] = 'always'
|
|
8
|
+
Oboe::Config[:sample_rate] = 1e6
|
|
9
|
+
|
|
10
|
+
class RackTestApp < Minitest::Test
|
|
11
|
+
include Rack::Test::Methods
|
|
12
|
+
|
|
13
|
+
def app
|
|
14
|
+
@app = Rack::Builder.new {
|
|
15
|
+
use Rack::CommonLogger
|
|
16
|
+
use Rack::ShowExceptions
|
|
17
|
+
use Oboe::Rack
|
|
18
|
+
map "/lobster" do
|
|
19
|
+
use Rack::Lint
|
|
20
|
+
run Rack::Lobster.new
|
|
21
|
+
end
|
|
22
|
+
}
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def test_localset_sample_source
|
|
26
|
+
# We make an initial call here which will force the oboe gem to retrieve
|
|
27
|
+
# the sample_rate and sample_source from liboboe (via sample? method)
|
|
28
|
+
get "/lobster"
|
|
29
|
+
|
|
30
|
+
clear_all_traces
|
|
31
|
+
|
|
32
|
+
get "/lobster"
|
|
33
|
+
|
|
34
|
+
traces = get_all_traces
|
|
35
|
+
traces.count.must_equal 3
|
|
36
|
+
|
|
37
|
+
validate_outer_layers(traces, 'rack')
|
|
38
|
+
|
|
39
|
+
kvs = {}
|
|
40
|
+
kvs["SampleRate"] = "1000000"
|
|
41
|
+
kvs["SampleSource"] = OBOE_SAMPLE_RATE_SOURCE_FILE.to_s
|
|
42
|
+
validate_event_keys(traces[0], kvs)
|
|
43
|
+
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
require 'minitest_helper'
|
|
2
|
+
|
|
3
|
+
describe Oboe::XTrace do
|
|
4
|
+
|
|
5
|
+
it 'should correctly validate X-Trace IDs' do
|
|
6
|
+
# Invalid X-Trace IDs
|
|
7
|
+
Oboe::XTrace.valid?("").must_equal false
|
|
8
|
+
Oboe::XTrace.valid?(nil).must_equal false
|
|
9
|
+
Oboe::XTrace.valid?("1B00000000000000000000000000000000000000000000000000000000").must_equal false
|
|
10
|
+
Oboe::XTrace.valid?("1b").must_equal false
|
|
11
|
+
Oboe::XTrace.valid?("29348209348").must_equal false
|
|
12
|
+
|
|
13
|
+
# Standard X-Trace IDs
|
|
14
|
+
Oboe::XTrace.valid?("1B7435A9FE510AE4533414D425DADF4E180D2B4E3649E60702469DB05F").must_equal true
|
|
15
|
+
Oboe::XTrace.valid?("1BA462ADE6CFE479081764CC476AA983351DC51B1BCB3468DA6F06EEFA").must_equal true
|
|
16
|
+
Oboe::XTrace.valid?("1BADFDFB3DBA36323B2E0975925D0DAE12D10BA5946809504DC4B81FF6").must_equal true
|
|
17
|
+
|
|
18
|
+
# X-Trace IDs with lower-case alpha chars
|
|
19
|
+
Oboe::XTrace.valid?("1bf9861cb12e2a257247a8195654e56d30b2f4e2d4fce67c321ad58495").must_equal true
|
|
20
|
+
Oboe::XTrace.valid?("1b258b2c1d6914f3c6085cb72e7cc93e145b401d4356aa24ef7294b2d6").must_equal true
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
it 'should correctly extract task IDs from X-Trace IDs' do
|
|
24
|
+
task_id = Oboe::XTrace.task_id("1BF86B3D3342FCECAECE33C6411379BB171505DB6A136DFAEBDF742362")
|
|
25
|
+
task_id.is_a?(String).must_equal true
|
|
26
|
+
task_id.must_equal "F86B3D3342FCECAECE33C6411379BB171505DB6A"
|
|
27
|
+
task_id.length.must_equal 40
|
|
28
|
+
|
|
29
|
+
task_id = Oboe::XTrace.task_id("1B77970F82332EE22FF04C249FCBA8F63E8AFA2C6730E209453259B2D6")
|
|
30
|
+
task_id.is_a?(String).must_equal true
|
|
31
|
+
task_id.must_equal "77970F82332EE22FF04C249FCBA8F63E8AFA2C67"
|
|
32
|
+
task_id.length.must_equal 40
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: oboe
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 2.7.0.3
|
|
5
|
+
platform: java
|
|
6
|
+
authors:
|
|
7
|
+
- Peter Giacomo Lombardo
|
|
8
|
+
- Spiros Eliopoulos
|
|
9
|
+
autorequire:
|
|
10
|
+
bindir: bin
|
|
11
|
+
cert_chain: []
|
|
12
|
+
date: 2014-08-19 00:00:00.000000000 Z
|
|
13
|
+
dependencies:
|
|
14
|
+
- !ruby/object:Gem::Dependency
|
|
15
|
+
name: json
|
|
16
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
17
|
+
requirements:
|
|
18
|
+
- - '>='
|
|
19
|
+
- !ruby/object:Gem::Version
|
|
20
|
+
version: '0'
|
|
21
|
+
requirement: !ruby/object:Gem::Requirement
|
|
22
|
+
requirements:
|
|
23
|
+
- - '>='
|
|
24
|
+
- !ruby/object:Gem::Version
|
|
25
|
+
version: '0'
|
|
26
|
+
prerelease: false
|
|
27
|
+
type: :runtime
|
|
28
|
+
- !ruby/object:Gem::Dependency
|
|
29
|
+
name: rake
|
|
30
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
31
|
+
requirements:
|
|
32
|
+
- - '>='
|
|
33
|
+
- !ruby/object:Gem::Version
|
|
34
|
+
version: '0'
|
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
|
36
|
+
requirements:
|
|
37
|
+
- - '>='
|
|
38
|
+
- !ruby/object:Gem::Version
|
|
39
|
+
version: '0'
|
|
40
|
+
prerelease: false
|
|
41
|
+
type: :development
|
|
42
|
+
description: The oboe gem provides TraceView instrumentation for MRI Ruby, JRuby and related frameworks.
|
|
43
|
+
email: traceviewsupport@appneta.com
|
|
44
|
+
executables: []
|
|
45
|
+
extensions: []
|
|
46
|
+
extra_rdoc_files:
|
|
47
|
+
- LICENSE
|
|
48
|
+
files:
|
|
49
|
+
- .gitignore
|
|
50
|
+
- .travis.yml
|
|
51
|
+
- Appraisals
|
|
52
|
+
- CHANGELOG.md
|
|
53
|
+
- Gemfile
|
|
54
|
+
- LICENSE
|
|
55
|
+
- README.md
|
|
56
|
+
- Rakefile
|
|
57
|
+
- ext/oboe_metal/extconf.rb
|
|
58
|
+
- ext/oboe_metal/noop/noop.c
|
|
59
|
+
- ext/oboe_metal/src/bson/bson.h
|
|
60
|
+
- ext/oboe_metal/src/bson/platform_hacks.h
|
|
61
|
+
- ext/oboe_metal/src/oboe.h
|
|
62
|
+
- ext/oboe_metal/src/oboe.hpp
|
|
63
|
+
- ext/oboe_metal/src/oboe_wrap.cxx
|
|
64
|
+
- ext/oboe_metal/tests/test.rb
|
|
65
|
+
- gemfiles/mongo.gemfile
|
|
66
|
+
- gemfiles/moped.gemfile
|
|
67
|
+
- get_version.rb
|
|
68
|
+
- init.rb
|
|
69
|
+
- lib/base.rb
|
|
70
|
+
- lib/joboe_metal.rb
|
|
71
|
+
- lib/method_profiling.rb
|
|
72
|
+
- lib/oboe.rb
|
|
73
|
+
- lib/oboe/api.rb
|
|
74
|
+
- lib/oboe/api/layerinit.rb
|
|
75
|
+
- lib/oboe/api/logging.rb
|
|
76
|
+
- lib/oboe/api/memcache.rb
|
|
77
|
+
- lib/oboe/api/profiling.rb
|
|
78
|
+
- lib/oboe/api/tracing.rb
|
|
79
|
+
- lib/oboe/api/util.rb
|
|
80
|
+
- lib/oboe/config.rb
|
|
81
|
+
- lib/oboe/frameworks/grape.rb
|
|
82
|
+
- lib/oboe/frameworks/padrino.rb
|
|
83
|
+
- lib/oboe/frameworks/padrino/templates.rb
|
|
84
|
+
- lib/oboe/frameworks/rails.rb
|
|
85
|
+
- lib/oboe/frameworks/rails/helpers/rum/rum_ajax_header.js.erb
|
|
86
|
+
- lib/oboe/frameworks/rails/helpers/rum/rum_footer.js.erb
|
|
87
|
+
- lib/oboe/frameworks/rails/helpers/rum/rum_header.js.erb
|
|
88
|
+
- lib/oboe/frameworks/rails/inst/action_controller.rb
|
|
89
|
+
- lib/oboe/frameworks/rails/inst/action_view.rb
|
|
90
|
+
- lib/oboe/frameworks/rails/inst/action_view_2x.rb
|
|
91
|
+
- lib/oboe/frameworks/rails/inst/action_view_30.rb
|
|
92
|
+
- lib/oboe/frameworks/rails/inst/active_record.rb
|
|
93
|
+
- lib/oboe/frameworks/rails/inst/connection_adapters/mysql.rb
|
|
94
|
+
- lib/oboe/frameworks/rails/inst/connection_adapters/mysql2.rb
|
|
95
|
+
- lib/oboe/frameworks/rails/inst/connection_adapters/oracle.rb
|
|
96
|
+
- lib/oboe/frameworks/rails/inst/connection_adapters/postgresql.rb
|
|
97
|
+
- lib/oboe/frameworks/rails/inst/connection_adapters/utils.rb
|
|
98
|
+
- lib/oboe/frameworks/sinatra.rb
|
|
99
|
+
- lib/oboe/frameworks/sinatra/templates.rb
|
|
100
|
+
- lib/oboe/inst/cassandra.rb
|
|
101
|
+
- lib/oboe/inst/dalli.rb
|
|
102
|
+
- lib/oboe/inst/http.rb
|
|
103
|
+
- lib/oboe/inst/memcache.rb
|
|
104
|
+
- lib/oboe/inst/memcached.rb
|
|
105
|
+
- lib/oboe/inst/mongo.rb
|
|
106
|
+
- lib/oboe/inst/moped.rb
|
|
107
|
+
- lib/oboe/inst/rack.rb
|
|
108
|
+
- lib/oboe/inst/redis.rb
|
|
109
|
+
- lib/oboe/inst/resque.rb
|
|
110
|
+
- lib/oboe/instrumentation.rb
|
|
111
|
+
- lib/oboe/loading.rb
|
|
112
|
+
- lib/oboe/logger.rb
|
|
113
|
+
- lib/oboe/ruby.rb
|
|
114
|
+
- lib/oboe/util.rb
|
|
115
|
+
- lib/oboe/version.rb
|
|
116
|
+
- lib/oboe/xtrace.rb
|
|
117
|
+
- lib/oboe_metal.rb
|
|
118
|
+
- lib/rails/generators/oboe/install_generator.rb
|
|
119
|
+
- lib/rails/generators/oboe/templates/oboe_initializer.rb
|
|
120
|
+
- oboe.gemspec
|
|
121
|
+
- release.sh
|
|
122
|
+
- test/frameworks/apps/grape_simple.rb
|
|
123
|
+
- test/frameworks/apps/padrino_simple.rb
|
|
124
|
+
- test/frameworks/apps/sinatra_simple.rb
|
|
125
|
+
- test/frameworks/grape_test.rb
|
|
126
|
+
- test/frameworks/padrino_test.rb
|
|
127
|
+
- test/frameworks/sinatra_test.rb
|
|
128
|
+
- test/instrumentation/cassandra_test.rb
|
|
129
|
+
- test/instrumentation/dalli_test.rb
|
|
130
|
+
- test/instrumentation/http_test.rb
|
|
131
|
+
- test/instrumentation/memcache_test.rb
|
|
132
|
+
- test/instrumentation/memcached_test.rb
|
|
133
|
+
- test/instrumentation/mongo_test.rb
|
|
134
|
+
- test/instrumentation/moped_test.rb
|
|
135
|
+
- test/instrumentation/rack_test.rb
|
|
136
|
+
- test/instrumentation/redis_hashes_test.rb
|
|
137
|
+
- test/instrumentation/redis_keys_test.rb
|
|
138
|
+
- test/instrumentation/redis_lists_test.rb
|
|
139
|
+
- test/instrumentation/redis_misc_test.rb
|
|
140
|
+
- test/instrumentation/redis_sets_test.rb
|
|
141
|
+
- test/instrumentation/redis_sortedsets_test.rb
|
|
142
|
+
- test/instrumentation/redis_strings_test.rb
|
|
143
|
+
- test/instrumentation/resque_test.rb
|
|
144
|
+
- test/minitest_helper.rb
|
|
145
|
+
- test/profiling/method_test.rb
|
|
146
|
+
- test/support/config_test.rb
|
|
147
|
+
- test/support/liboboe_settings_test.rb
|
|
148
|
+
- test/support/xtrace_test.rb
|
|
149
|
+
homepage: http://www.appneta.com/products/traceview/
|
|
150
|
+
licenses:
|
|
151
|
+
- AppNeta Open License, Version 1.0
|
|
152
|
+
metadata: {}
|
|
153
|
+
post_install_message:
|
|
154
|
+
rdoc_options: []
|
|
155
|
+
require_paths:
|
|
156
|
+
- lib
|
|
157
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
158
|
+
requirements:
|
|
159
|
+
- - '>='
|
|
160
|
+
- !ruby/object:Gem::Version
|
|
161
|
+
version: 1.8.6
|
|
162
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
163
|
+
requirements:
|
|
164
|
+
- - '>='
|
|
165
|
+
- !ruby/object:Gem::Version
|
|
166
|
+
version: '0'
|
|
167
|
+
requirements: []
|
|
168
|
+
rubyforge_project:
|
|
169
|
+
rubygems_version: 2.4.1
|
|
170
|
+
signing_key:
|
|
171
|
+
specification_version: 4
|
|
172
|
+
summary: AppNeta TraceView performance instrumentation gem for Ruby
|
|
173
|
+
test_files:
|
|
174
|
+
- test/minitest_helper.rb
|
|
175
|
+
- test/frameworks/grape_test.rb
|
|
176
|
+
- test/frameworks/padrino_test.rb
|
|
177
|
+
- test/frameworks/sinatra_test.rb
|
|
178
|
+
- test/frameworks/apps/sinatra_simple.rb
|
|
179
|
+
- test/frameworks/apps/padrino_simple.rb
|
|
180
|
+
- test/frameworks/apps/grape_simple.rb
|
|
181
|
+
- test/instrumentation/mongo_test.rb
|
|
182
|
+
- test/instrumentation/redis_hashes_test.rb
|
|
183
|
+
- test/instrumentation/redis_misc_test.rb
|
|
184
|
+
- test/instrumentation/dalli_test.rb
|
|
185
|
+
- test/instrumentation/redis_keys_test.rb
|
|
186
|
+
- test/instrumentation/redis_sortedsets_test.rb
|
|
187
|
+
- test/instrumentation/redis_strings_test.rb
|
|
188
|
+
- test/instrumentation/redis_sets_test.rb
|
|
189
|
+
- test/instrumentation/http_test.rb
|
|
190
|
+
- test/instrumentation/resque_test.rb
|
|
191
|
+
- test/instrumentation/moped_test.rb
|
|
192
|
+
- test/instrumentation/rack_test.rb
|
|
193
|
+
- test/instrumentation/memcache_test.rb
|
|
194
|
+
- test/instrumentation/redis_lists_test.rb
|
|
195
|
+
- test/instrumentation/cassandra_test.rb
|
|
196
|
+
- test/instrumentation/memcached_test.rb
|
|
197
|
+
- test/profiling/method_test.rb
|
|
198
|
+
- test/support/liboboe_settings_test.rb
|
|
199
|
+
- test/support/config_test.rb
|
|
200
|
+
- test/support/xtrace_test.rb
|