traceview 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (137) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +10 -0
  3. data/.rubocop.yml +5 -0
  4. data/.travis.yml +58 -0
  5. data/Appraisals +10 -0
  6. data/CHANGELOG.md +490 -0
  7. data/CONFIG.md +16 -0
  8. data/Gemfile +95 -0
  9. data/LICENSE +199 -0
  10. data/README.md +380 -0
  11. data/Rakefile +109 -0
  12. data/examples/DNT.md +35 -0
  13. data/examples/carrying_context.rb +225 -0
  14. data/examples/instrumenting_metal_controller.rb +8 -0
  15. data/examples/puma_on_heroku_config.rb +17 -0
  16. data/examples/tracing_async_threads.rb +125 -0
  17. data/examples/tracing_background_jobs.rb +52 -0
  18. data/examples/tracing_forked_processes.rb +100 -0
  19. data/examples/unicorn_on_heroku_config.rb +28 -0
  20. data/ext/oboe_metal/extconf.rb +61 -0
  21. data/ext/oboe_metal/noop/noop.c +7 -0
  22. data/ext/oboe_metal/src/bson/bson.h +221 -0
  23. data/ext/oboe_metal/src/bson/platform_hacks.h +91 -0
  24. data/ext/oboe_metal/src/oboe.h +275 -0
  25. data/ext/oboe_metal/src/oboe.hpp +352 -0
  26. data/ext/oboe_metal/src/oboe_wrap.cxx +3886 -0
  27. data/ext/oboe_metal/tests/test.rb +11 -0
  28. data/gemfiles/mongo.gemfile +33 -0
  29. data/gemfiles/moped.gemfile +33 -0
  30. data/get_version.rb +5 -0
  31. data/init.rb +4 -0
  32. data/lib/joboe_metal.rb +206 -0
  33. data/lib/oboe.rb +7 -0
  34. data/lib/oboe/README +2 -0
  35. data/lib/oboe/backward_compatibility.rb +59 -0
  36. data/lib/oboe/inst/rack.rb +11 -0
  37. data/lib/oboe_metal.rb +151 -0
  38. data/lib/rails/generators/traceview/install_generator.rb +76 -0
  39. data/lib/rails/generators/traceview/templates/traceview_initializer.rb +159 -0
  40. data/lib/traceview.rb +62 -0
  41. data/lib/traceview/api.rb +18 -0
  42. data/lib/traceview/api/layerinit.rb +51 -0
  43. data/lib/traceview/api/logging.rb +209 -0
  44. data/lib/traceview/api/memcache.rb +31 -0
  45. data/lib/traceview/api/profiling.rb +50 -0
  46. data/lib/traceview/api/tracing.rb +135 -0
  47. data/lib/traceview/api/util.rb +121 -0
  48. data/lib/traceview/base.rb +225 -0
  49. data/lib/traceview/config.rb +238 -0
  50. data/lib/traceview/frameworks/grape.rb +97 -0
  51. data/lib/traceview/frameworks/padrino.rb +64 -0
  52. data/lib/traceview/frameworks/padrino/templates.rb +58 -0
  53. data/lib/traceview/frameworks/rails.rb +145 -0
  54. data/lib/traceview/frameworks/rails/helpers/rum/rum_ajax_header.js.erb +5 -0
  55. data/lib/traceview/frameworks/rails/helpers/rum/rum_footer.js.erb +1 -0
  56. data/lib/traceview/frameworks/rails/helpers/rum/rum_header.js.erb +3 -0
  57. data/lib/traceview/frameworks/rails/inst/action_controller.rb +216 -0
  58. data/lib/traceview/frameworks/rails/inst/action_view.rb +56 -0
  59. data/lib/traceview/frameworks/rails/inst/action_view_2x.rb +54 -0
  60. data/lib/traceview/frameworks/rails/inst/action_view_30.rb +48 -0
  61. data/lib/traceview/frameworks/rails/inst/active_record.rb +24 -0
  62. data/lib/traceview/frameworks/rails/inst/connection_adapters/mysql.rb +43 -0
  63. data/lib/traceview/frameworks/rails/inst/connection_adapters/mysql2.rb +28 -0
  64. data/lib/traceview/frameworks/rails/inst/connection_adapters/oracle.rb +18 -0
  65. data/lib/traceview/frameworks/rails/inst/connection_adapters/postgresql.rb +30 -0
  66. data/lib/traceview/frameworks/rails/inst/connection_adapters/utils.rb +117 -0
  67. data/lib/traceview/frameworks/sinatra.rb +95 -0
  68. data/lib/traceview/frameworks/sinatra/templates.rb +56 -0
  69. data/lib/traceview/inst/cassandra.rb +279 -0
  70. data/lib/traceview/inst/dalli.rb +86 -0
  71. data/lib/traceview/inst/em-http-request.rb +99 -0
  72. data/lib/traceview/inst/excon.rb +111 -0
  73. data/lib/traceview/inst/faraday.rb +73 -0
  74. data/lib/traceview/inst/http.rb +87 -0
  75. data/lib/traceview/inst/httpclient.rb +173 -0
  76. data/lib/traceview/inst/memcache.rb +102 -0
  77. data/lib/traceview/inst/memcached.rb +94 -0
  78. data/lib/traceview/inst/mongo.rb +238 -0
  79. data/lib/traceview/inst/moped.rb +474 -0
  80. data/lib/traceview/inst/rack.rb +122 -0
  81. data/lib/traceview/inst/redis.rb +271 -0
  82. data/lib/traceview/inst/resque.rb +192 -0
  83. data/lib/traceview/inst/rest-client.rb +38 -0
  84. data/lib/traceview/inst/sequel.rb +162 -0
  85. data/lib/traceview/inst/typhoeus.rb +102 -0
  86. data/lib/traceview/instrumentation.rb +21 -0
  87. data/lib/traceview/loading.rb +94 -0
  88. data/lib/traceview/logger.rb +41 -0
  89. data/lib/traceview/method_profiling.rb +84 -0
  90. data/lib/traceview/ruby.rb +36 -0
  91. data/lib/traceview/support.rb +113 -0
  92. data/lib/traceview/thread_local.rb +26 -0
  93. data/lib/traceview/util.rb +250 -0
  94. data/lib/traceview/version.rb +16 -0
  95. data/lib/traceview/xtrace.rb +90 -0
  96. data/test/frameworks/apps/grape_nested.rb +30 -0
  97. data/test/frameworks/apps/grape_simple.rb +24 -0
  98. data/test/frameworks/apps/padrino_simple.rb +45 -0
  99. data/test/frameworks/apps/sinatra_simple.rb +24 -0
  100. data/test/frameworks/grape_test.rb +142 -0
  101. data/test/frameworks/padrino_test.rb +30 -0
  102. data/test/frameworks/sinatra_test.rb +30 -0
  103. data/test/instrumentation/cassandra_test.rb +380 -0
  104. data/test/instrumentation/dalli_test.rb +171 -0
  105. data/test/instrumentation/em_http_request_test.rb +86 -0
  106. data/test/instrumentation/excon_test.rb +207 -0
  107. data/test/instrumentation/faraday_test.rb +235 -0
  108. data/test/instrumentation/http_test.rb +140 -0
  109. data/test/instrumentation/httpclient_test.rb +296 -0
  110. data/test/instrumentation/memcache_test.rb +251 -0
  111. data/test/instrumentation/memcached_test.rb +226 -0
  112. data/test/instrumentation/mongo_test.rb +462 -0
  113. data/test/instrumentation/moped_test.rb +496 -0
  114. data/test/instrumentation/rack_test.rb +116 -0
  115. data/test/instrumentation/redis_hashes_test.rb +265 -0
  116. data/test/instrumentation/redis_keys_test.rb +318 -0
  117. data/test/instrumentation/redis_lists_test.rb +310 -0
  118. data/test/instrumentation/redis_misc_test.rb +160 -0
  119. data/test/instrumentation/redis_sets_test.rb +293 -0
  120. data/test/instrumentation/redis_sortedsets_test.rb +325 -0
  121. data/test/instrumentation/redis_strings_test.rb +333 -0
  122. data/test/instrumentation/resque_test.rb +62 -0
  123. data/test/instrumentation/rest-client_test.rb +294 -0
  124. data/test/instrumentation/sequel_mysql2_test.rb +326 -0
  125. data/test/instrumentation/sequel_mysql_test.rb +326 -0
  126. data/test/instrumentation/sequel_pg_test.rb +330 -0
  127. data/test/instrumentation/typhoeus_test.rb +285 -0
  128. data/test/minitest_helper.rb +187 -0
  129. data/test/profiling/method_test.rb +198 -0
  130. data/test/servers/rackapp_8101.rb +22 -0
  131. data/test/support/backcompat_test.rb +269 -0
  132. data/test/support/config_test.rb +128 -0
  133. data/test/support/dnt_test.rb +73 -0
  134. data/test/support/liboboe_settings_test.rb +104 -0
  135. data/test/support/xtrace_test.rb +35 -0
  136. data/traceview.gemspec +29 -0
  137. metadata +250 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 34fa175e853a709e13a5fe6194d2103792c295ac
4
+ data.tar.gz: a8c37ac537e72a7989cf98c183aea85fd88e8cb3
5
+ SHA512:
6
+ metadata.gz: b1872fa06b667bffbb539bbf452a2a0e9d2e87f58e5387ca09a06171694e60da3e3491aaac4a0d32b2a3d3fa1308af19663f589dd224ed46299ea036c7b2349c
7
+ data.tar.gz: 9bb0f32d78863ea9c1798c8c98f91809f35a14b9290ff783626a8bd8f80d5fe8a9db80286cf878812b6906b5b1b2597486df9fc1846d8c0417eaac5767e80dc1
data/.gitignore ADDED
@@ -0,0 +1,10 @@
1
+ oboe*.gem
2
+ Gemfile.lock
3
+ .ruby-version
4
+ *~
5
+ *.swp
6
+ lib/oboe_metal.so
7
+ ext/oboe_metal/Makefile
8
+ ext/oboe_metal/mkmf.log
9
+ ext/oboe_metal/oboe_metal.so
10
+ ext/oboe_metal/oboe_wrap.o
data/.rubocop.yml ADDED
@@ -0,0 +1,5 @@
1
+ Metrics/LineLength:
2
+ Max: 120
3
+
4
+ Style/HashSyntax:
5
+ EnforcedStyle: hash_rockets
data/.travis.yml ADDED
@@ -0,0 +1,58 @@
1
+ language: ruby
2
+
3
+ cache:
4
+ bundler: true
5
+ directories:
6
+ - vendor/bundle
7
+
8
+ rvm:
9
+ - 2.2.0
10
+ - 2.1.1
11
+ - 2.0.0
12
+ - 1.9.3
13
+ - 1.9.2
14
+ - 1.8.7
15
+ - ree
16
+ - jruby-19mode
17
+
18
+ #gemfile:
19
+ # - gemfiles/mongo.gemfile
20
+ # - gemfiles/moped.gemfile
21
+
22
+ # Attempt Travis/Cassandra fix re: https://github.com/travis-ci/travis-ci/issues/1484
23
+ # Updated Cassandra: https://github.com/travis-ci/travis-ci/issues/1650
24
+ before_install:
25
+ - gem update --system
26
+ - gem update bundler
27
+ - gem --version
28
+ - sudo sh -c "echo 'JVM_OPTS=\"\${JVM_OPTS} -Djava.net.preferIPv4Stack=false\"' >> /usr/local/cassandra/conf/cassandra-env.sh"
29
+ - echo "127.0.0.1 localhost" | sudo tee /etc/hosts
30
+ - echo "127.0.0.1 " `hostname` | sudo tee /etc/hosts
31
+ - sudo service cassandra start
32
+
33
+ install:
34
+ - wget https://www.tracelytics.com/install_tracelytics.sh
35
+ - sudo sh ./install_tracelytics.sh f51e2a43-0ee5-4851-8a54-825773b3218e
36
+ - sudo apt-get install -y tracelytics-java-agent
37
+
38
+ before_script:
39
+ - bundle install --without development
40
+ - bundle exec rake compile
41
+ - psql -c 'create database travis_ci_test;' -U postgres
42
+ - mysql -e 'create database travis_ci_test;'
43
+ - sleep 10
44
+
45
+ script: "bundle exec rake test"
46
+
47
+ services:
48
+ - mongodb
49
+ - memcached
50
+ - cassandra
51
+ - redis
52
+
53
+ matrix:
54
+ allow_failures:
55
+ # FIXME: Until the joboe test reporter supports cross thread
56
+ # event collection.
57
+ - rvm: jruby-19mode
58
+
data/Appraisals ADDED
@@ -0,0 +1,10 @@
1
+
2
+ appraise "mongo" do
3
+ gem 'mongo'
4
+ end
5
+
6
+ if RUBY_VERSION >= '1.9'
7
+ appraise "moped" do
8
+ gem 'moped', "~> 1.5"
9
+ end
10
+ end
data/CHANGELOG.md ADDED
@@ -0,0 +1,490 @@
1
+
2
+ For the latest release info, see here:
3
+ https://github.com/appneta/oboe-ruby/releases
4
+
5
+ Dates in this file are in the format MM/DD/YYYY.
6
+
7
+ # traceview 3.0.0
8
+
9
+ The oboe gem has been renamed to traceview. The final oboe
10
+ gem (2.7.19) has a post-install deprecation warning and will
11
+ not have anymore updates.
12
+
13
+ All development going forward will be done on this traceview gem.
14
+
15
+ As a first release, this is simply a renamed version of oboe gem 2.7.19.
16
+
17
+ It contains no bug fixes or new features.
18
+
19
+ Pushed to Rubygems:
20
+
21
+ https://rubygems.org/gems/traceview/versions/3.0.0
22
+ https://rubygems.org/gems/traceview/versions/3.0.0-java
23
+
24
+ # oboe 2.7.19
25
+
26
+ __Note that this will be the last release for the oboe gem. The gem
27
+ will be renamed to _traceview_ and all future updates will be to that
28
+ other gem.__
29
+
30
+ This version will show a post-install warning message stating this. A
31
+ final version of this gem will be released with only a deprecation
32
+ warning.
33
+
34
+ This patch release includes the following fix:
35
+
36
+ * Report TraceMode in __Init: #120
37
+ * Add RemoteHost reporting to Dalli Instrumentation: #119
38
+
39
+ Pushed to Rubygems:
40
+
41
+ https://rubygems.org/gems/oboe/versions/2.7.19
42
+ https://rubygems.org/gems/oboe/versions/2.7.19-java
43
+
44
+ # oboe 2.7.18
45
+
46
+ This patch release includes the following fix:
47
+
48
+ * For custom ActionView renderers, properly accept and pass on blocks: #118
49
+
50
+ Pushed to Rubygems:
51
+
52
+ https://rubygems.org/gems/oboe/versions/2.7.18
53
+ https://rubygems.org/gems/oboe/versions/2.7.18-java
54
+
55
+ # oboe 2.7.17.1
56
+
57
+ This patch release includes:
58
+
59
+ * New config option to optionally not report URL query parameters: #116
60
+ * New HTTPClient instrumentation: #115
61
+
62
+ Pushed to Rubygems:
63
+
64
+ https://rubygems.org/gems/oboe/versions/2.7.17.1
65
+ https://rubygems.org/gems/oboe/versions/2.7.17.1-java
66
+
67
+ # oboe 2.7.16.1
68
+
69
+ This patch release includes:
70
+
71
+ * New rest-client instrumentation: #109
72
+ * New excon instrumentation: #114
73
+ * Fix `uninitialized constant` on unsupported platforms: #113
74
+
75
+ Pushed to Rubygems:
76
+
77
+ https://rubygems.org/gems/oboe/versions/2.7.16.1
78
+ https://rubygems.org/gems/oboe/versions/2.7.16.1-java
79
+
80
+ # oboe 2.7.15.1
81
+
82
+ This patch release includes:
83
+
84
+ * Rails Instrumentation should respect top-level rescue handlers: #111
85
+
86
+ Pushed to Rubygems:
87
+
88
+ https://rubygems.org/gems/oboe/versions/2.7.15.1
89
+ https://rubygems.org/gems/oboe/versions/2.7.15/1-java
90
+
91
+ # oboe 2.7.14.1
92
+
93
+ This patch release includes:
94
+
95
+ * Fixed support for Puma on Heroku: #108
96
+
97
+ Pushed to Rubygems:
98
+
99
+ https://rubygems.org/gems/oboe/versions/2.7.14.1
100
+ https://rubygems.org/gems/oboe/versions/2.7.14/1-java
101
+
102
+ # oboe 2.7.13.3
103
+
104
+ This build release includes:
105
+
106
+ * Protect against unknown data type reporting: #106
107
+
108
+ Pushed to Rubygems:
109
+
110
+ https://rubygems.org/gems/oboe/versions/2.7.13.3
111
+ https://rubygems.org/gems/oboe/versions/2.7.13.3-java
112
+
113
+ # oboe 2.7.12.1
114
+
115
+ This patch release includes:
116
+
117
+ * Report values using BSON data types: #103
118
+ * Avoid double tracing rack layer for nested apps: #104
119
+
120
+ Pushed to Rubygems:
121
+
122
+ https://rubygems.org/gems/oboe/versions/2.7.12.1
123
+ https://rubygems.org/gems/oboe/versions/2.7.12.1-java
124
+
125
+ # oboe 2.7.11.1
126
+
127
+ This patch release includes:
128
+
129
+ * Grape instrumentation fixes and improvements: #102
130
+ * Report Sequel and Typhoeus versions in __Init: #101
131
+
132
+ Pushed to Rubygems:
133
+
134
+ https://rubygems.org/gems/oboe/versions/2.7.11.1
135
+ https://rubygems.org/gems/oboe/versions/2.7.11.1-java
136
+
137
+ # oboe 2.7.10.1
138
+
139
+ This patch release includes:
140
+
141
+ * Add the ability to configure the do not trace list: #100
142
+
143
+ Pushed to Rubygems:
144
+
145
+ https://rubygems.org/gems/oboe/versions/2.7.10.1
146
+ https://rubygems.org/gems/oboe/versions/2.7.10.1-java
147
+
148
+ # oboe 2.7.9.6
149
+
150
+ This patch release includes:
151
+
152
+ * Better, faster, stronger Rack instrumentation: #99
153
+ * A Typhoeus instrumentation fix for cross-app tracing: #97
154
+
155
+ Pushed to Rubygems:
156
+
157
+ https://rubygems.org/gems/oboe/versions/2.7.9.6
158
+ https://rubygems.org/gems/oboe/versions/2.7.9.6-java
159
+
160
+ # oboe 2.7.8.1
161
+
162
+ This patch release includes:
163
+
164
+ * Improved sampling management and reporting
165
+
166
+ Pushed to Rubygems:
167
+
168
+ https://rubygems.org/gems/oboe/versions/2.7.8.1
169
+ https://rubygems.org/gems/oboe/versions/2.7.8.1-java
170
+
171
+
172
+ # oboe 2.7.7.1
173
+
174
+ This patch release includes:
175
+
176
+ * Add support and instrumentation for Sequel: #91
177
+
178
+ Pushed to Rubygems:
179
+
180
+ https://rubygems.org/gems/oboe/versions/2.7.7.1
181
+ https://rubygems.org/gems/oboe/versions/2.7.7.1-java
182
+
183
+ # oboe 2.7.6.2
184
+
185
+ This patch release includes:
186
+
187
+ * Fixed metrics when hosting a JRuby application under a Java webserver such as Tomcat: #94
188
+ * Fix for moped aggregate calls: #95
189
+
190
+ Pushed to Rubygems:
191
+
192
+ https://rubygems.org/gems/oboe/versions/2.7.6.2
193
+ https://rubygems.org/gems/oboe/versions/2.7.6.2-java
194
+
195
+ # oboe 2.7.5.1 (11/20/2014)
196
+
197
+ This patch release includes:
198
+
199
+ * New [Typhoeus](https://github.com/typhoeus/typhoeus) instrumentation: #90
200
+ * JRuby: Better Handling of Agent JSON Parsing Errors: #89
201
+ * Faraday doesn't Log like the others; Fixup Verbose Logging: #79
202
+ * Add DB Adapters to __Init reporting: #83
203
+ * Extended Typhoeus tests: #92
204
+
205
+ Pushed to Rubygems:
206
+
207
+ https://rubygems.org/gems/oboe/versions/2.7.5.1
208
+ https://rubygems.org/gems/oboe/versions/2.7.5.1-java
209
+
210
+ # oboe 2.7.4.1 (10/26/2014)
211
+
212
+ This patch release includes:
213
+
214
+ * Make Oboe::API available even when liboboe.so is not #81 (thanks Cannon!)
215
+ * Add OS and Oboe::Config info to support report #80
216
+
217
+ Pushed to Rubygems:
218
+
219
+ https://rubygems.org/gems/oboe/versions/2.7.4.1
220
+ https://rubygems.org/gems/oboe/versions/2.7.4.1-java
221
+
222
+ # oboe 2.7.3.1 (10/15/2014)
223
+
224
+ This patch release includes:
225
+
226
+ * Fix require statements under certain variations of REE-1.8.7: #78 (thanks @madrobby)
227
+ * Faraday instrumentation fails to capture and pass params update block: #79
228
+ * Add method to log environment details for support investigations (`Oboe.support_ report`): #77
229
+
230
+ Pushed to Rubygems:
231
+
232
+ https://rubygems.org/gems/oboe/versions/2.7.3.1
233
+ https://rubygems.org/gems/oboe/versions/2.7.3.1-java
234
+
235
+ # oboe 2.7.2.2 (09/26/2014)
236
+
237
+ This patch release includes:
238
+
239
+ * New [Faraday](https://github.com/lostisland/faraday) instrumentation: https://github.com/appneta/oboe-ruby/pull/68
240
+ * Auto-initialize instrumentation when no framework detected: https://github.com/appneta/oboe-ruby/pull/76
241
+ * Willingly ignore traceview missing libraries warning: https://github.com/appneta/oboe-ruby/pull/75 (thanks @theist!)
242
+
243
+ Pushed to Rubygems:
244
+
245
+ https://rubygems.org/gems/oboe/versions/2.7.2.2
246
+ https://rubygems.org/gems/oboe/versions/2.7.2.2-java
247
+
248
+ # oboe 2.7.1.7 (09/08/2014)
249
+
250
+ This patch release includes:
251
+
252
+ * Fixed load stack trace when missing TraceView base libraries: [#72](https://github.com/appneta/oboe-ruby/pull/72) - thanks @theist!
253
+ * Beta `em-http-request` instrumentation: [#60](https://github.com/appneta/oboe-ruby/pull/60)/[#73](https://github.com/appneta/oboe-ruby/pull/73) - Thanks @diogobenica!
254
+ * Improved loading when on Heroku with oboe-heroku gem
255
+
256
+ Pushed to Rubygems:
257
+
258
+ https://rubygems.org/gems/oboe/versions/2.7.1.7
259
+ https://rubygems.org/gems/oboe/versions/2.7.1.7-java
260
+
261
+ # oboe 2.7.0.3 (08/19/2014)
262
+
263
+ This minor release includes:
264
+
265
+ * [JRuby instrumentation](https://github.com/appneta/oboe-ruby/pull/51) is back and better than ever.
266
+ * [Updated moped instrumentation](https://github.com/appneta/oboe-ruby/pull/63) to support moped v2 changes
267
+ * Simplify start_trace by setting a default param: [#67](https://github.com/appneta/oboe-ruby/pull/67)
268
+
269
+ This release also includes [our first pure java platform Ruby gem](https://rubygems.org/gems/oboe/versions/2.7.0.3-java) (no c-extension for JRuby yay!).
270
+
271
+ Pushed to Rubygems:
272
+
273
+ https://rubygems.org/gems/oboe/versions/2.7.0.3
274
+ https://rubygems.org/gems/oboe/versions/2.7.0.3-java
275
+
276
+ Related: http://www.appneta.com/blog/jruby-whole-java-world/
277
+
278
+ # oboe 2.6.8 (07/31/2014)
279
+
280
+ This patch release includes:
281
+
282
+ * Fix [instrumentation load for Padrino in test environments](https://github.com/appneta/oboe-ruby/pull/65)
283
+ * [Add delay](https://github.com/appneta/oboe-ruby/pull/66) in test suite to allow downloading of sample rate info
284
+
285
+ Pushed to Rubygems: https://rubygems.org/gems/oboe/versions/2.6.8
286
+
287
+ # oboe 2.6.7.1 (07/23/2014)
288
+
289
+ This patch release includes better error handling, API clean-up and RUM template improvements.
290
+
291
+ * [Add RUM helpers](https://github.com/appneta/oboe-ruby/pull/56) for Sinatra and Padrino stacks. Thanks @tlunter!
292
+ * Prefer [StandardError over Exception](https://github.com/appneta/oboe-ruby/pull/59) for rescue blocks that we handle directly
293
+ * [Clean up Oboe logging API](https://github.com/appneta/oboe-ruby/pull/58): Oboe.log, Oboe::Context.log and Oboe::API.log redundancy
294
+
295
+ # oboe 2.6.6.1 (06/16/2014)
296
+
297
+ This patch release adds new instrumentation and a couple fixes:
298
+
299
+ * [Add instrumentation support](https://github.com/appneta/oboe-ruby/pull/37) for [Grape API Micro Framework](http://intridea.github.io/grape/) (thanks @tlunter!)
300
+ * Important [Mongo find operation with block fix](https://github.com/appneta/oboe-ruby/pull/53) (thanks @rafaelfranca!)
301
+ * Better and more [data independent tests](https://github.com/appneta/oboe-ruby/pull/52) for Travis
302
+
303
+ # oboe 2.6.5.5 (06/02/2014)
304
+
305
+ This patch release improves [instrumentation for Mongo](https://github.com/appneta/oboe-ruby/pull/48) version >= 1.10 and fixes TraceView [sample rate reporting](https://github.com/appneta/oboe-ruby/pull/50).
306
+
307
+ # oboe 2.6.4.1 (04/30/2014)
308
+
309
+ This patch release adds detection and support for Redhat [OpenShift](https://www.openshift.com/). See our OpenShift [TraceView cartridge](https://github.com/appneta/openshift-cartridge-traceview) for base libraries before using this gem on OpenShift.
310
+
311
+ # oboe 2.6.3.0 (04/07/2014)
312
+
313
+ This patch releases fixes a number of smaller issues:
314
+
315
+ * the gem will no longer start traces on static assets (https://github.com/appneta/oboe-ruby/pull/31)
316
+ * fix occasionally broken `profile_name` values when using [custom method tracing](https://github.com/appneta/oboe-ruby#tracing-methods)
317
+ * fix for incorrectly starting traces when in `through` tracing mode under certain circumstances
318
+ * Expand the test suite to validate sample rates and tracing modes (https://github.com/appneta/oboe-ruby/pull/8)
319
+
320
+ # oboe 2.6.2.0 (03/24/2014)
321
+
322
+ * This patch release improves webserver detection on Heroku and adds in some c extension protections. A oboe-heroku gem release will follow this release.
323
+
324
+ # oboe 2.6.1.0 (03/12/2014)
325
+
326
+ This is a patch release to address "Unsupported digest algorithm (SHA256)" occurring under certain cases on Heroku. A oboe-heroku gem release will follow this release.
327
+
328
+ * Support delayed Reporter Initialization for Forking Webservers
329
+ * README syntax fixes
330
+
331
+ # oboe 2.5.0.7 (02/2013/2014)
332
+
333
+ * Added new Redis redis-rb gem (>= 3.0.0) instrumentation
334
+ * Fix a SampleSource bitmask high bit issue
335
+ * Expanded __Init reports
336
+ * Fix Ruby standalone returning nil X-Trace headers (1B000000...)
337
+ * Test against Ruby 2.1.0 on TravisCI
338
+ * Fix errant Oboe::Config warning
339
+
340
+ # oboe 2.4.0.1 (01/12/2013)
341
+
342
+ * Report SampleRate & SampleSource per updated SWIG API
343
+ * Change OboeHeroku __Init Key
344
+ * Remove oboe_fu artifacts
345
+ * CodeClimate Initiated improvements
346
+ * Remove SSL connection requirement from Net::HTTP tests
347
+ * oboe.gemspec doesn't specify Ruby 1.8 json dependency
348
+ * add config to blacklist tracing of actions (thanks @nathantsoi!)
349
+ * Report the application server used
350
+ * Support Oboe::Config.merge! and warn on non-existent (thanks @adamjt!)
351
+
352
+ # oboe 2.3.4.1 (11/21/2013)
353
+
354
+ * Stacks that use a caching system like Varnish could see corrupted traces; fixed.
355
+
356
+ # oboe 2.3.3.7 (11/06/2013)
357
+
358
+ * Rename the _Init layer to "rack"
359
+ * Decode URLS when reporting them
360
+ * Resque layer naming split into 1) client queuing of a job: 'resque-client', 2) Resque worker running a job: 'resque-worker'
361
+ * Fix for an extension load error and some refactoring of functionality into a base module (OboeBase)
362
+ * Improved and more resilient method profiling
363
+ * Further refactoring for Ruby 2.0 support
364
+ * Track the version of the instrumentation installed
365
+
366
+ # oboe 2.3.2 (10/22/2013)
367
+
368
+ * Backtrace collection can now be configured to skip certain components if a lighter-weight trace is desired
369
+ * On MRI Ruby the hostname of the Tracelyzer is now configurable via Oboe::Config[:reporter_host] (default is localhost)
370
+ * Fix to MongoDb query identification
371
+ * Event building in the Rack layer optimized
372
+ * Renamed "sampling_rate" to be "sample_rate" for consistency
373
+ * More tests added and documentation in anticipation of our Ruby open-source initiative
374
+
375
+ # oboe 2.2.6 (09/27/2013)
376
+
377
+ * Query Privacy now fully supported; can configure the app to not send SQL parameters if needed
378
+ * Configuring the local sample rate now supports 1e6 notation
379
+ * Improved log messaging if a gem dependency is missing
380
+ * Now reporting HTTPStatus on http client calls
381
+ * Heroku - the start time when a request hits the load balancer now captured
382
+
383
+ # oboe 2.2.0 (09/12/2013)
384
+
385
+ * Initial support for Rails 4
386
+ * Various internal reporting fixes and improvements
387
+ * Fix for auto sampling rate
388
+
389
+ # oboe 2.1.4 (08/01/2013)
390
+
391
+ * Integration support for AppView Web
392
+
393
+ # oboe 2.1.3 (07/16/2013)
394
+
395
+ * Allow _Access Key_ assignment via Environment variable: TRACEVIEW_CUUID
396
+
397
+ # oboe 2.1.1
398
+
399
+ * The gem now logs via a standard Ruby logger: Oboe.logger
400
+ * Add in rspec tests
401
+ * JRuby now supports Smart Tracing
402
+ * Fixed an invalid Profile name in ActionView Partial tracing
403
+
404
+ # oboe 1.4.2.2
405
+
406
+ * Rack - add handling for potential nil result
407
+
408
+ # oboe 1.4.2
409
+
410
+ * Cassandra - ensure all keys are captured when reporting exceptions
411
+ * JRuby detection fix
412
+
413
+ # oboe 1.4.1.2
414
+
415
+ * HTTP keys now captured at Rack level instead of Rails
416
+ * RUM templates are now pre-loaded
417
+ * Improved layer agnostic info event reporting
418
+
419
+ # oboe 1.4.0.2
420
+
421
+ * Resque support
422
+ * Fix Rails 2 bug where SET and SHOW could result in recursive calls
423
+ * Memcache - multi-get calls now report a total for number of keys and number
424
+ of hits
425
+ * Configuration - added ability to identify components to skip from
426
+ instrumentation
427
+ * Configuration - sending Resque parameters can be skipped if privacy an issue.
428
+
429
+ # oboe 1.3.9.1
430
+
431
+ * Add in Rack instrumentation
432
+ * Fix Function profiling of class methods bug
433
+ * Add backtraces to Cassandra and Mongo operations
434
+ * Rename the "render" layer to "actionview"
435
+
436
+ # oboe 1.3.8
437
+
438
+ * More comprehensive JRuby support
439
+
440
+ # oboe 1.3.7
441
+
442
+ * Added Moped driver instrumentation (Mongo/Mongoid)
443
+
444
+ # oboe 1.3.6
445
+
446
+ * Added Rails ActionView partial and collection rendering instrumentation
447
+
448
+ # oboe 1.3.5
449
+
450
+ * Added cassandra instrumentation
451
+
452
+ # oboe 1.3.4
453
+
454
+ * Added mongo-ruby-driver support
455
+
456
+ # oboe 1.3.3
457
+
458
+ * Updated RUM instrumentation templates
459
+
460
+ # oboe 1.3.2
461
+
462
+ * Fix a case when the RUM instrumentation header/footer methods would not
463
+ return JS output, depending on how the way they were called from HAML.
464
+
465
+ # oboe 1.3.1
466
+
467
+ * Support for RUM instrumentation.
468
+ Fix for certain cases where exceptions were not properly propagated up to Rails
469
+ error handlers.
470
+
471
+ # oboe 1.3.0
472
+
473
+ * The oboe and oboe_fu gems have been merged to simplify installation. The
474
+ final oboe_fu gem (1.3.0) simply calls "require 'oboe'" now for backwards
475
+ compatibility.
476
+ * Please note our updated installation instructions for the new location of
477
+ Ruby oboe API methods.
478
+ * Our gem now successfully installs even if your platform does not have our
479
+ base packages (liboboe) installed, so you can deploy to environments with or
480
+ without TraceView support.
481
+
482
+ # oboe_fu 1.2.1
483
+
484
+ * Support for instrumenting the dalli module.
485
+
486
+ # oboe_fu 1.2.0
487
+
488
+ * Support for Rails 2.3, 3.0, 3.1, and 3.2.
489
+
490
+