oboe 2.7.0.3-java
Sign up to get free protection for your applications and to get access to all the features.
- 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
|