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.
Files changed (102) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +8 -0
  3. data/.travis.yml +51 -0
  4. data/Appraisals +10 -0
  5. data/CHANGELOG.md +223 -0
  6. data/Gemfile +49 -0
  7. data/LICENSE +199 -0
  8. data/README.md +380 -0
  9. data/Rakefile +106 -0
  10. data/ext/oboe_metal/extconf.rb +61 -0
  11. data/ext/oboe_metal/noop/noop.c +7 -0
  12. data/ext/oboe_metal/src/bson/bson.h +221 -0
  13. data/ext/oboe_metal/src/bson/platform_hacks.h +91 -0
  14. data/ext/oboe_metal/src/oboe.h +275 -0
  15. data/ext/oboe_metal/src/oboe.hpp +352 -0
  16. data/ext/oboe_metal/src/oboe_wrap.cxx +3886 -0
  17. data/ext/oboe_metal/tests/test.rb +11 -0
  18. data/gemfiles/mongo.gemfile +33 -0
  19. data/gemfiles/moped.gemfile +33 -0
  20. data/get_version.rb +5 -0
  21. data/init.rb +4 -0
  22. data/lib/base.rb +99 -0
  23. data/lib/joboe_metal.rb +185 -0
  24. data/lib/method_profiling.rb +70 -0
  25. data/lib/oboe.rb +50 -0
  26. data/lib/oboe/api.rb +14 -0
  27. data/lib/oboe/api/layerinit.rb +99 -0
  28. data/lib/oboe/api/logging.rb +129 -0
  29. data/lib/oboe/api/memcache.rb +29 -0
  30. data/lib/oboe/api/profiling.rb +50 -0
  31. data/lib/oboe/api/tracing.rb +134 -0
  32. data/lib/oboe/api/util.rb +117 -0
  33. data/lib/oboe/config.rb +140 -0
  34. data/lib/oboe/frameworks/grape.rb +74 -0
  35. data/lib/oboe/frameworks/padrino.rb +66 -0
  36. data/lib/oboe/frameworks/padrino/templates.rb +59 -0
  37. data/lib/oboe/frameworks/rails.rb +139 -0
  38. data/lib/oboe/frameworks/rails/helpers/rum/rum_ajax_header.js.erb +5 -0
  39. data/lib/oboe/frameworks/rails/helpers/rum/rum_footer.js.erb +1 -0
  40. data/lib/oboe/frameworks/rails/helpers/rum/rum_header.js.erb +3 -0
  41. data/lib/oboe/frameworks/rails/inst/action_controller.rb +123 -0
  42. data/lib/oboe/frameworks/rails/inst/action_view.rb +56 -0
  43. data/lib/oboe/frameworks/rails/inst/action_view_2x.rb +54 -0
  44. data/lib/oboe/frameworks/rails/inst/action_view_30.rb +48 -0
  45. data/lib/oboe/frameworks/rails/inst/active_record.rb +24 -0
  46. data/lib/oboe/frameworks/rails/inst/connection_adapters/mysql.rb +43 -0
  47. data/lib/oboe/frameworks/rails/inst/connection_adapters/mysql2.rb +28 -0
  48. data/lib/oboe/frameworks/rails/inst/connection_adapters/oracle.rb +18 -0
  49. data/lib/oboe/frameworks/rails/inst/connection_adapters/postgresql.rb +30 -0
  50. data/lib/oboe/frameworks/rails/inst/connection_adapters/utils.rb +118 -0
  51. data/lib/oboe/frameworks/sinatra.rb +96 -0
  52. data/lib/oboe/frameworks/sinatra/templates.rb +56 -0
  53. data/lib/oboe/inst/cassandra.rb +281 -0
  54. data/lib/oboe/inst/dalli.rb +75 -0
  55. data/lib/oboe/inst/http.rb +72 -0
  56. data/lib/oboe/inst/memcache.rb +105 -0
  57. data/lib/oboe/inst/memcached.rb +96 -0
  58. data/lib/oboe/inst/mongo.rb +240 -0
  59. data/lib/oboe/inst/moped.rb +474 -0
  60. data/lib/oboe/inst/rack.rb +81 -0
  61. data/lib/oboe/inst/redis.rb +273 -0
  62. data/lib/oboe/inst/resque.rb +193 -0
  63. data/lib/oboe/instrumentation.rb +18 -0
  64. data/lib/oboe/loading.rb +98 -0
  65. data/lib/oboe/logger.rb +41 -0
  66. data/lib/oboe/ruby.rb +11 -0
  67. data/lib/oboe/util.rb +129 -0
  68. data/lib/oboe/version.rb +13 -0
  69. data/lib/oboe/xtrace.rb +52 -0
  70. data/lib/oboe_metal.rb +140 -0
  71. data/lib/rails/generators/oboe/install_generator.rb +76 -0
  72. data/lib/rails/generators/oboe/templates/oboe_initializer.rb +94 -0
  73. data/oboe.gemspec +29 -0
  74. data/release.sh +65 -0
  75. data/test/frameworks/apps/grape_simple.rb +10 -0
  76. data/test/frameworks/apps/padrino_simple.rb +41 -0
  77. data/test/frameworks/apps/sinatra_simple.rb +20 -0
  78. data/test/frameworks/grape_test.rb +27 -0
  79. data/test/frameworks/padrino_test.rb +25 -0
  80. data/test/frameworks/sinatra_test.rb +25 -0
  81. data/test/instrumentation/cassandra_test.rb +381 -0
  82. data/test/instrumentation/dalli_test.rb +164 -0
  83. data/test/instrumentation/http_test.rb +97 -0
  84. data/test/instrumentation/memcache_test.rb +251 -0
  85. data/test/instrumentation/memcached_test.rb +226 -0
  86. data/test/instrumentation/mongo_test.rb +462 -0
  87. data/test/instrumentation/moped_test.rb +473 -0
  88. data/test/instrumentation/rack_test.rb +73 -0
  89. data/test/instrumentation/redis_hashes_test.rb +265 -0
  90. data/test/instrumentation/redis_keys_test.rb +318 -0
  91. data/test/instrumentation/redis_lists_test.rb +310 -0
  92. data/test/instrumentation/redis_misc_test.rb +160 -0
  93. data/test/instrumentation/redis_sets_test.rb +293 -0
  94. data/test/instrumentation/redis_sortedsets_test.rb +325 -0
  95. data/test/instrumentation/redis_strings_test.rb +333 -0
  96. data/test/instrumentation/resque_test.rb +62 -0
  97. data/test/minitest_helper.rb +148 -0
  98. data/test/profiling/method_test.rb +198 -0
  99. data/test/support/config_test.rb +39 -0
  100. data/test/support/liboboe_settings_test.rb +46 -0
  101. data/test/support/xtrace_test.rb +35 -0
  102. 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