oboe 2.7.0.3-java

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