oboe 2.6.6.1 → 2.6.7.1

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 (75) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +6 -0
  3. data/Appraisals +6 -16
  4. data/CHANGELOG.md +30 -14
  5. data/Gemfile +4 -3
  6. data/Gemfile.lock +20 -25
  7. data/Rakefile +5 -1
  8. data/ext/oboe_metal/extconf.rb +2 -2
  9. data/gemfiles/mongo.gemfile +33 -0
  10. data/gemfiles/moped.gemfile +33 -0
  11. data/lib/base.rb +28 -10
  12. data/lib/joboe_metal.rb +12 -34
  13. data/lib/method_profiling.rb +3 -3
  14. data/lib/oboe/api/layerinit.rb +14 -14
  15. data/lib/oboe/api/logging.rb +11 -11
  16. data/lib/oboe/api/profiling.rb +7 -6
  17. data/lib/oboe/api/tracing.rb +3 -3
  18. data/lib/oboe/api/util.rb +4 -4
  19. data/lib/oboe/config.rb +7 -7
  20. data/lib/oboe/frameworks/padrino.rb +2 -2
  21. data/lib/oboe/frameworks/rails.rb +11 -11
  22. data/lib/oboe/frameworks/rails/inst/action_controller.rb +4 -4
  23. data/lib/oboe/frameworks/rails/inst/action_view.rb +2 -2
  24. data/lib/oboe/frameworks/rails/inst/action_view_2x.rb +1 -1
  25. data/lib/oboe/frameworks/rails/inst/action_view_30.rb +1 -1
  26. data/lib/oboe/frameworks/rails/inst/active_record.rb +1 -1
  27. data/lib/oboe/frameworks/rails/inst/connection_adapters/mysql.rb +3 -3
  28. data/lib/oboe/frameworks/rails/inst/connection_adapters/mysql2.rb +2 -2
  29. data/lib/oboe/frameworks/rails/inst/connection_adapters/postgresql.rb +1 -1
  30. data/lib/oboe/frameworks/rails/inst/connection_adapters/utils.rb +8 -8
  31. data/lib/oboe/frameworks/sinatra.rb +33 -3
  32. data/lib/oboe/frameworks/sinatra/templates.rb +2 -2
  33. data/lib/oboe/inst/cassandra.rb +19 -19
  34. data/lib/oboe/inst/dalli.rb +7 -7
  35. data/lib/oboe/inst/http.rb +5 -5
  36. data/lib/oboe/inst/memcache.rb +14 -14
  37. data/lib/oboe/inst/memcached.rb +8 -8
  38. data/lib/oboe/inst/mongo.rb +2 -2
  39. data/lib/oboe/inst/moped.rb +29 -29
  40. data/lib/oboe/inst/rack.rb +3 -3
  41. data/lib/oboe/inst/redis.rb +24 -24
  42. data/lib/oboe/inst/resque.rb +4 -4
  43. data/lib/oboe/loading.rb +6 -6
  44. data/lib/oboe/logger.rb +4 -4
  45. data/lib/oboe/version.rb +1 -1
  46. data/lib/oboe_metal.rb +11 -39
  47. data/test/frameworks/apps/grape_simple.rb +1 -1
  48. data/test/frameworks/apps/sinatra_simple.rb +1 -1
  49. data/test/frameworks/padrino_test.rb +3 -3
  50. data/test/frameworks/sinatra_test.rb +3 -3
  51. data/test/instrumentation/cassandra_test.rb +45 -45
  52. data/test/instrumentation/http_test.rb +6 -6
  53. data/test/instrumentation/mongo_test.rb +347 -345
  54. data/test/instrumentation/moped_test.rb +40 -40
  55. data/test/instrumentation/redis_hashes_test.rb +20 -20
  56. data/test/instrumentation/redis_keys_test.rb +19 -19
  57. data/test/instrumentation/redis_lists_test.rb +22 -22
  58. data/test/instrumentation/redis_misc_test.rb +14 -14
  59. data/test/instrumentation/redis_sets_test.rb +20 -20
  60. data/test/instrumentation/redis_sortedsets_test.rb +25 -25
  61. data/test/instrumentation/redis_strings_test.rb +27 -27
  62. data/test/instrumentation/resque_test.rb +7 -7
  63. data/test/minitest_helper.rb +18 -6
  64. data/test/profiling/method_test.rb +24 -24
  65. data/test/support/liboboe_settings_test.rb +3 -3
  66. data/test/support/xtrace_test.rb +2 -2
  67. metadata +26 -32
  68. data/gemfiles/rails2.3.gemfile +0 -18
  69. data/gemfiles/rails2.3.gemfile.lock +0 -95
  70. data/gemfiles/rails3.0.gemfile +0 -18
  71. data/gemfiles/rails3.0.gemfile.lock +0 -142
  72. data/gemfiles/rails3.1.gemfile +0 -18
  73. data/gemfiles/rails3.1.gemfile.lock +0 -152
  74. data/gemfiles/rails3.2.gemfile +0 -18
  75. data/gemfiles/rails3.2.gemfile.lock +0 -150
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 88b047a073e88c218371312a035decc488059eaa
4
- data.tar.gz: c4893000d6fc960a84ac93f84e5b4b26ffef9713
3
+ metadata.gz: 8f433a30233b7bcf02a8334f30a2b70c6e0ff20d
4
+ data.tar.gz: 4f5024d368825709de09b87c17572cb8e6241fdd
5
5
  SHA512:
6
- metadata.gz: 3e59b0470032680bf931922fce2ea4e402a75bc430aacc14739e7d02cd44a08f3c3634e7f82009ce457dbb3df691c503cba444b15b52fa58f94e8a4314599a87
7
- data.tar.gz: c52b420be49fc23794252e0f68aa9b6d6834e76173f8ca485f02bdf27dd70e80bad07116c206d4cb2b70520c65cd10249f9a23ca0e08bb44a9d3e774d8aa20f7
6
+ metadata.gz: 1141ad7b9271ee2dc3c4aa26c8263f34d4e15e41ae5fd214ef8d9a2d1c5de2e4fa75c24680a7cca7e880c19b7ea2fb03a8af8371a2cfaf3a8e18d856c601ccfa
7
+ data.tar.gz: 1b45262da56437de57cafeb959b1227323f329292a5a75cdb1fe9dfe6d19c2608b311476491ff926afdef74f1ad7730352554c2dbf6d4b2fbb8f03861a677b5c
@@ -7,6 +7,10 @@ rvm:
7
7
  - 1.8.7
8
8
  - ree
9
9
 
10
+ #gemfile:
11
+ # - gemfiles/mongo.gemfile
12
+ # - gemfiles/moped.gemfile
13
+
10
14
  # Attempt Travis/Cassandra fix re: https://github.com/travis-ci/travis-ci/issues/1484
11
15
  # Updated Cassandra: https://github.com/travis-ci/travis-ci/issues/1650
12
16
  before_install:
@@ -26,6 +30,8 @@ before_script:
26
30
  - bundle install --without development
27
31
  - bundle exec rake compile
28
32
 
33
+ script: "bundle exec rake test"
34
+
29
35
  services:
30
36
  - mongodb
31
37
  - memcached
data/Appraisals CHANGED
@@ -1,20 +1,10 @@
1
1
 
2
- appraise "rails2.3" do
3
- gem "rails", "~> 2.3.18"
4
- gem "oboe", :path => "../"
2
+ appraise "mongo" do
3
+ gem 'mongo'
5
4
  end
6
5
 
7
- appraise "rails3.0" do
8
- gem "rails", "~> 3.0.20"
9
- gem "oboe", :path => "../"
10
- end
11
-
12
- appraise "rails3.1" do
13
- gem "rails", "~> 3.1.12"
14
- gem "oboe", :path => "../"
15
- end
16
-
17
- appraise "rails3.2" do
18
- gem "rails", "~> 3.2.13"
19
- gem "oboe", :path => "../"
6
+ if RUBY_VERSION >= '1.9'
7
+ appraise "moped" do
8
+ gem 'moped', "~> 1.5"
9
+ end
20
10
  end
@@ -1,12 +1,28 @@
1
- # oboe 2.6.5.5 (06/02/14)
1
+ # oboe 2.6.7 (07/14/2014)
2
+
3
+ This patch release includes better error handling, API clean-up and RUM template improvements.
4
+
5
+ * [Add RUM helpers](https://github.com/appneta/oboe-ruby/pull/56) for Sinatra and Padrino stacks. Thanks @tlunter!
6
+ * Prefer [StandardError over Exception](https://github.com/appneta/oboe-ruby/pull/59) for rescue blocks that we handle directly
7
+ * [Clean up Oboe logging API](https://github.com/appneta/oboe-ruby/pull/58): Oboe.log, Oboe::Context.log and Oboe::API.log redundancy
8
+
9
+ # oboe 2.6.6.1 (06/16/2014)
10
+
11
+ This patch release adds new instrumentation and a couple fixes:
12
+
13
+ * [Add instrumentation support](https://github.com/appneta/oboe-ruby/pull/37) for [Grape API Micro Framework](http://intridea.github.io/grape/) (thanks @tlunter!)
14
+ * Important [Mongo find operation with block fix](https://github.com/appneta/oboe-ruby/pull/53) (thanks @rafaelfranca!)
15
+ * Better and more [data independent tests](https://github.com/appneta/oboe-ruby/pull/52) for Travis
16
+
17
+ # oboe 2.6.5.5 (06/02/2014)
2
18
 
3
19
  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).
4
20
 
5
- # oboe 2.6.4.1 (04/30/14)
21
+ # oboe 2.6.4.1 (04/30/2014)
6
22
 
7
23
  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.
8
24
 
9
- # oboe 2.6.3.0 (04/07/14)
25
+ # oboe 2.6.3.0 (04/07/2014)
10
26
 
11
27
  This patch releases fixes a number of smaller issues:
12
28
 
@@ -15,18 +31,18 @@ This patch releases fixes a number of smaller issues:
15
31
  * fix for incorrectly starting traces when in `through` tracing mode under certain circumstances
16
32
  * Expand the test suite to validate sample rates and tracing modes (https://github.com/appneta/oboe-ruby/pull/8)
17
33
 
18
- # oboe 2.6.2.0 (03/24/14)
34
+ # oboe 2.6.2.0 (03/24/2014)
19
35
 
20
36
  * This patch release improves webserver detection on Heroku and adds in some c extension protections. A oboe-heroku gem release will follow this release.
21
37
 
22
- # oboe 2.6.1.0 (03/12/14)
38
+ # oboe 2.6.1.0 (03/12/2014)
23
39
 
24
40
  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.
25
41
 
26
42
  * Support delayed Reporter Initialization for Forking Webservers
27
43
  * README syntax fixes
28
44
 
29
- # oboe 2.5.0.7 (02/13/14)
45
+ # oboe 2.5.0.7 (02/2013/2014)
30
46
 
31
47
  * Added new Redis redis-rb gem (>= 3.0.0) instrumentation
32
48
  * Fix a SampleSource bitmask high bit issue
@@ -35,7 +51,7 @@ This is a patch release to address "Unsupported digest algorithm (SHA256)" occur
35
51
  * Test against Ruby 2.1.0 on TravisCI
36
52
  * Fix errant Oboe::Config warning
37
53
 
38
- # oboe 2.4.0.1 (01/12/13)
54
+ # oboe 2.4.0.1 (01/12/2013)
39
55
 
40
56
  * Report SampleRate & SampleSource per updated SWIG API
41
57
  * Change OboeHeroku __Init Key
@@ -47,11 +63,11 @@ This is a patch release to address "Unsupported digest algorithm (SHA256)" occur
47
63
  * Report the application server used
48
64
  * Support Oboe::Config.merge! and warn on non-existent (thanks @adamjt!)
49
65
 
50
- # oboe 2.3.4.1 (11/21/13)
66
+ # oboe 2.3.4.1 (11/21/2013)
51
67
 
52
68
  * Stacks that use a caching system like Varnish could see corrupted traces; fixed.
53
69
 
54
- # oboe 2.3.3.7 (11/06/13)
70
+ # oboe 2.3.3.7 (11/06/2013)
55
71
 
56
72
  * Rename the _Init layer to "rack"
57
73
  * Decode URLS when reporting them
@@ -61,7 +77,7 @@ This is a patch release to address "Unsupported digest algorithm (SHA256)" occur
61
77
  * Further refactoring for Ruby 2.0 support
62
78
  * Track the version of the instrumentation installed
63
79
 
64
- # oboe 2.3.2 (10/22/13)
80
+ # oboe 2.3.2 (10/22/2013)
65
81
 
66
82
  * Backtrace collection can now be configured to skip certain components if a lighter-weight trace is desired
67
83
  * On MRI Ruby the hostname of the Tracelyzer is now configurable via Oboe::Config[:reporter_host] (default is localhost)
@@ -70,7 +86,7 @@ This is a patch release to address "Unsupported digest algorithm (SHA256)" occur
70
86
  * Renamed "sampling_rate" to be "sample_rate" for consistency
71
87
  * More tests added and documentation in anticipation of our Ruby open-source initiative
72
88
 
73
- # oboe 2.2.6 (09/27/13)
89
+ # oboe 2.2.6 (09/27/2013)
74
90
 
75
91
  * Query Privacy now fully supported; can configure the app to not send SQL parameters if needed
76
92
  * Configuring the local sample rate now supports 1e6 notation
@@ -78,17 +94,17 @@ This is a patch release to address "Unsupported digest algorithm (SHA256)" occur
78
94
  * Now reporting HTTPStatus on http client calls
79
95
  * Heroku - the start time when a request hits the load balancer now captured
80
96
 
81
- # oboe 2.2.0 (09/12/13)
97
+ # oboe 2.2.0 (09/12/2013)
82
98
 
83
99
  * Initial support for Rails 4
84
100
  * Various internal reporting fixes and improvements
85
101
  * Fix for auto sampling rate
86
102
 
87
- # oboe 2.1.4 (08/01/13)
103
+ # oboe 2.1.4 (08/01/2013)
88
104
 
89
105
  * Integration support for AppView Web
90
106
 
91
- # oboe 2.1.3 (07/16/13)
107
+ # oboe 2.1.3 (07/16/2013)
92
108
 
93
109
  * Allow _Access Key_ assignment via Environment variable: TRACEVIEW_CUUID
94
110
 
data/Gemfile CHANGED
@@ -5,7 +5,6 @@ group :development, :test do
5
5
  gem 'minitest-reporters'
6
6
  gem 'rack-test'
7
7
  gem 'appraisal'
8
- gem 'bson'
9
8
  end
10
9
 
11
10
  group :development do
@@ -22,8 +21,7 @@ gem 'memcache-client'
22
21
  gem 'memcached', '1.7.2' if RUBY_VERSION < '2.0.0'
23
22
  gem 'cassandra'
24
23
  gem 'mongo'
25
- gem 'bson_ext' # For Mongo, Yours Truly
26
- gem 'moped' if RUBY_VERSION >= '1.9'
24
+ gem 'moped', '~> 1.5' if RUBY_VERSION >= '1.9'
27
25
  gem 'resque'
28
26
  gem 'redis'
29
27
 
@@ -33,6 +31,9 @@ gem 'sinatra'
33
31
  if RUBY_VERSION >= '1.9.3'
34
32
  gem 'padrino', '0.12.0'
35
33
  gem 'grape'
34
+ gem 'bson'
35
+ else
36
+ gem 'bson', '1.10.2'
36
37
  end
37
38
 
38
39
  # Import dependencies from oboe.gemspec
@@ -1,13 +1,13 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- oboe (2.6.5.5)
4
+ oboe (2.6.7)
5
5
  json
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- activesupport (4.1.1)
10
+ activesupport (4.1.4)
11
11
  i18n (~> 0.6, >= 0.6.9)
12
12
  json (~> 1.7, >= 1.7.7)
13
13
  minitest (~> 5.1)
@@ -22,9 +22,7 @@ GEM
22
22
  descendants_tracker (~> 0.0.4)
23
23
  ice_nine (~> 0.11.0)
24
24
  thread_safe (~> 0.3, >= 0.3.1)
25
- bson (1.10.1)
26
- bson_ext (1.10.1)
27
- bson (~> 1.10.1)
25
+ bson (1.10.2)
28
26
  builder (3.2.2)
29
27
  byebug (3.1.2)
30
28
  columnize (~> 0.8)
@@ -48,21 +46,21 @@ GEM
48
46
  descendants_tracker (0.0.4)
49
47
  thread_safe (~> 0.3, >= 0.3.1)
50
48
  equalizer (0.0.9)
51
- grape (0.7.0)
49
+ grape (0.8.0)
52
50
  activesupport
53
51
  builder
54
- hashie (>= 1.2.0)
52
+ hashie (>= 2.1.0)
55
53
  multi_json (>= 1.3.2)
56
54
  multi_xml (>= 0.5.2)
57
55
  rack (>= 1.3.0)
58
56
  rack-accept
59
57
  rack-mount
60
58
  virtus (>= 1.0.0)
61
- hashie (3.0.0)
59
+ hashie (3.2.0)
62
60
  http_router (0.11.1)
63
61
  rack (>= 1.0.0)
64
62
  url_mount (~> 0.2.1)
65
- i18n (0.6.9)
63
+ i18n (0.6.11)
66
64
  ice_nine (0.11.0)
67
65
  json (1.8.1)
68
66
  linecache (0.46)
@@ -71,18 +69,17 @@ GEM
71
69
  mime-types (~> 1.16)
72
70
  treetop (~> 1.4.8)
73
71
  memcache-client (1.8.5)
74
- memcached (1.7.2)
75
72
  method_source (0.8.2)
76
73
  mime-types (1.25.1)
77
- minitest (5.3.4)
78
- minitest-reporters (1.0.4)
74
+ minitest (5.4.0)
75
+ minitest-reporters (1.0.5)
79
76
  ansi
80
77
  builder
81
78
  minitest (>= 5.0)
82
79
  ruby-progressbar
83
80
  moneta (0.7.20)
84
- mongo (1.10.1)
85
- bson (~> 1.10.1)
81
+ mongo (1.3.1)
82
+ bson (>= 1.3.1)
86
83
  mono_logger (1.1.0)
87
84
  moped (1.5.2)
88
85
  multi_json (1.10.1)
@@ -118,10 +115,10 @@ GEM
118
115
  mail (~> 2.5.3)
119
116
  padrino-core (= 0.12.0)
120
117
  perftools.rb (2.0.1)
121
- polyglot (0.3.4)
122
- pry (0.9.12.6)
123
- coderay (~> 1.0)
124
- method_source (~> 0.8)
118
+ polyglot (0.3.5)
119
+ pry (0.10.0)
120
+ coderay (~> 1.1.0)
121
+ method_source (~> 0.8.1)
125
122
  slop (~> 3.4)
126
123
  rack (1.5.2)
127
124
  rack-accept (0.4.5)
@@ -134,9 +131,9 @@ GEM
134
131
  rack (>= 1.0)
135
132
  rake (10.3.2)
136
133
  rbx-require-relative (0.0.9)
137
- redis (3.0.7)
138
- redis-namespace (1.4.1)
139
- redis (~> 3.0.4)
134
+ redis (3.1.0)
135
+ redis-namespace (1.5.0)
136
+ redis (~> 3.0, >= 3.0.4)
140
137
  resque (1.25.2)
141
138
  mono_logger (~> 1.0)
142
139
  multi_json (~> 1.0)
@@ -164,7 +161,7 @@ GEM
164
161
  treetop (1.4.15)
165
162
  polyglot
166
163
  polyglot (>= 0.3.1)
167
- tzinfo (1.2.0)
164
+ tzinfo (1.2.1)
168
165
  thread_safe (~> 0.1)
169
166
  url_mount (0.2.1)
170
167
  rack
@@ -182,18 +179,16 @@ PLATFORMS
182
179
  DEPENDENCIES
183
180
  appraisal
184
181
  bson
185
- bson_ext
186
182
  byebug
187
183
  cassandra
188
184
  dalli
189
185
  debugger
190
186
  grape
191
187
  memcache-client
192
- memcached (= 1.7.2)
193
188
  minitest
194
189
  minitest-reporters
195
190
  mongo
196
- moped
191
+ moped (~> 1.5)
197
192
  oboe!
198
193
  padrino (= 0.12.0)
199
194
  perftools.rb
data/Rakefile CHANGED
@@ -11,7 +11,11 @@ Rake::TestTask.new do |t|
11
11
  t.verbose = true
12
12
  end
13
13
 
14
- task :default => :test
14
+ if !ENV["APPRAISAL_INITIALIZED"] && !ENV["TRAVIS"]
15
+ task :default => :appraisal
16
+ else
17
+ task :default => :test
18
+ end
15
19
 
16
20
  desc "Build the gem's c extension"
17
21
  task :compile do
@@ -28,7 +28,7 @@ else
28
28
  dir_config('oboe')
29
29
  end
30
30
 
31
- if jruby or ENV.has_key?('TRACEVIEW_URL')
31
+ if jruby or ENV.has_key?('TRACEVIEW_URL')
32
32
  # Build the noop extension under JRuby and Heroku.
33
33
  # The oboe-heroku gem builds it's own c extension which links to
34
34
  # libs specific to a Heroku dyno
@@ -50,7 +50,7 @@ elsif have_library('oboe', 'oboe_config_get_revision', 'oboe/oboe.h')
50
50
  end
51
51
 
52
52
  if RUBY_VERSION < '1.9'
53
- cpp_command('g++')
53
+ cpp_command('g++')
54
54
  $CPPFLAGS << "-I./src/"
55
55
  end
56
56
  create_makefile('oboe_metal', 'src')
@@ -0,0 +1,33 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "dalli"
6
+ gem "memcache-client"
7
+ gem "memcached", "1.7.2"
8
+ gem "cassandra"
9
+ gem "mongo"
10
+ gem "bson"
11
+ gem "moped", "~> 1.5"
12
+ gem "resque"
13
+ gem "redis"
14
+ gem "sinatra"
15
+ gem "padrino", "0.12.0"
16
+ gem "grape"
17
+
18
+ group :development, :test do
19
+ gem "minitest"
20
+ gem "minitest-reporters"
21
+ gem "rack-test"
22
+ gem "appraisal"
23
+ end
24
+
25
+ group :development do
26
+ gem "ruby-debug", :platform => :mri_18
27
+ gem "debugger", :platform => :mri_19
28
+ gem "byebug", :platforms => [:mri_20, :mri_21]
29
+ gem "perftools.rb", :platforms => [:mri_20, :mri_21], :require => "perftools"
30
+ gem "pry"
31
+ end
32
+
33
+ gemspec :name => "oboe", :path => "../"
@@ -0,0 +1,33 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "dalli"
6
+ gem "memcache-client"
7
+ gem "memcached", "1.7.2"
8
+ gem "cassandra"
9
+ gem "mongo"
10
+ gem "bson"
11
+ gem "moped", "~> 1.5"
12
+ gem "resque"
13
+ gem "redis"
14
+ gem "sinatra"
15
+ gem "padrino", "0.12.0"
16
+ gem "grape"
17
+
18
+ group :development, :test do
19
+ gem "minitest"
20
+ gem "minitest-reporters"
21
+ gem "rack-test"
22
+ gem "appraisal"
23
+ end
24
+
25
+ group :development do
26
+ gem "ruby-debug", :platform => :mri_18
27
+ gem "debugger", :platform => :mri_19
28
+ gem "byebug", :platforms => [:mri_20, :mri_21]
29
+ gem "perftools.rb", :platforms => [:mri_20, :mri_21], :require => "perftools"
30
+ gem "pry"
31
+ end
32
+
33
+ gemspec :name => "oboe", :path => "../"
@@ -1,6 +1,6 @@
1
1
  # Copyright (c) 2013 AppNeta, Inc.
2
2
  # All rights reserved.
3
-
3
+
4
4
  # Constants from liboboe
5
5
  OBOE_TRACE_NEVER = 0
6
6
  OBOE_TRACE_ALWAYS = 1
@@ -22,6 +22,22 @@ SAMPLE_SOURCE_MASK = 0b1111000000000000000000000000
22
22
  ZERO_SAMPLE_RATE_MASK = 0b1111000000000000000000000000
23
23
  ZERO_SAMPLE_SOURCE_MASK = 0b0000111111111111111111111111
24
24
 
25
+ module Oboe_metal
26
+ class Context
27
+ class << self
28
+ attr_accessor :layer_op
29
+
30
+ def tracing_layer_op?(operation)
31
+ if operation.is_a?(Array)
32
+ return operation.include?(@layer_op)
33
+ else
34
+ return @layer_op == operation
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
40
+
25
41
  module OboeBase
26
42
  attr_accessor :reporter
27
43
  attr_accessor :loaded
@@ -31,11 +47,11 @@ module OboeBase
31
47
  def self.included(cls)
32
48
  self.loaded = true
33
49
  end
34
-
50
+
35
51
  def always?
36
52
  Oboe::Config[:tracing_mode].to_s == "always"
37
53
  end
38
-
54
+
39
55
  def never?
40
56
  Oboe::Config[:tracing_mode].to_s == "never"
41
57
  end
@@ -43,19 +59,20 @@ module OboeBase
43
59
  def passthrough?
44
60
  ["always", "through"].include?(Oboe::Config[:tracing_mode])
45
61
  end
46
-
62
+
47
63
  def through?
48
64
  Oboe::Config[:tracing_mode] == "through"
49
65
  end
50
-
66
+
51
67
  def tracing?
52
68
  return false unless Oboe.loaded
53
69
 
54
70
  Oboe::Context.isValid and not Oboe.never?
55
71
  end
56
-
72
+
57
73
  def log(layer, label, options = {})
58
- Context.log(layer, label, options = options)
74
+ # WARN: Oboe.log will be deprecated in a future release. Please use Oboe::API.log instead.
75
+ Oboe::API.log(layer, label, options)
59
76
  end
60
77
 
61
78
  def heroku?
@@ -73,17 +90,18 @@ module OboeBase
73
90
  def sample?(opts = {})
74
91
  raise "sample? should be implemented by metal layer."
75
92
  end
76
-
93
+
77
94
  def log(layer, label, options = {})
78
95
  raise "log should be implemented by metal layer."
79
96
  end
80
-
97
+
81
98
  def set_tracing_mode(mode)
82
99
  raise "set_tracing_mode should be implemented by metal layer."
83
100
  end
84
-
101
+
85
102
  def set_sample_rate(rate)
86
103
  raise "set_sample_rate should be implemented by metal layer."
87
104
  end
105
+
88
106
  end
89
107