traceview 3.3.3-java → 3.4.0-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.
- checksums.yaml +4 -4
 - data/.travis.yml +18 -18
 - data/CHANGELOG.md +13 -0
 - data/README.md +3 -1
 - data/Rakefile +18 -9
 - data/gemfiles/delayed_job.gemfile +38 -0
 - data/gemfiles/frameworks.gemfile +1 -2
 - data/gemfiles/libraries.gemfile +1 -2
 - data/gemfiles/rails23.gemfile +1 -2
 - data/gemfiles/rails30.gemfile +4 -2
 - data/gemfiles/rails31.gemfile +4 -2
 - data/gemfiles/rails32.gemfile +4 -2
 - data/gemfiles/rails40.gemfile +4 -2
 - data/gemfiles/rails41.gemfile +4 -2
 - data/gemfiles/rails42.gemfile +4 -2
 - data/lib/traceview/api/layerinit.rb +3 -5
 - data/lib/traceview/api/logging.rb +63 -50
 - data/lib/traceview/api/memcache.rb +10 -9
 - data/lib/traceview/api/profiling.rb +6 -7
 - data/lib/traceview/api/util.rb +1 -1
 - data/lib/traceview/base.rb +21 -7
 - data/lib/traceview/config.rb +8 -4
 - data/lib/traceview/frameworks/padrino.rb +2 -2
 - data/lib/traceview/frameworks/rails/inst/action_controller.rb +3 -3
 - data/lib/traceview/frameworks/rails/inst/action_view.rb +4 -2
 - data/lib/traceview/frameworks/rails/inst/action_view_2x.rb +4 -2
 - data/lib/traceview/frameworks/rails/inst/action_view_30.rb +4 -2
 - data/lib/traceview/frameworks/rails/inst/connection_adapters/utils.rb +3 -3
 - data/lib/traceview/frameworks/rails.rb +26 -32
 - data/lib/traceview/frameworks/sinatra/templates.rb +1 -1
 - data/lib/traceview/frameworks/sinatra.rb +1 -1
 - data/lib/traceview/inst/dalli.rb +4 -5
 - data/lib/traceview/inst/delayed_job.rb +92 -0
 - data/lib/traceview/inst/em-http-request.rb +3 -0
 - data/lib/traceview/inst/excon.rb +3 -3
 - data/lib/traceview/inst/faraday.rb +4 -1
 - data/lib/traceview/inst/mongo.rb +10 -5
 - data/lib/traceview/inst/moped.rb +4 -4
 - data/lib/traceview/inst/redis.rb +5 -7
 - data/lib/traceview/inst/resque.rb +3 -3
 - data/lib/traceview/inst/rest-client.rb +2 -2
 - data/lib/traceview/inst/sidekiq-client.rb +3 -0
 - data/lib/traceview/inst/sidekiq-worker.rb +3 -0
 - data/lib/traceview/inst/twitter-cassandra.rb +8 -4
 - data/lib/traceview/test.rb +30 -1
 - data/lib/traceview/util.rb +7 -0
 - data/lib/traceview/version.rb +2 -2
 - data/test/frameworks/rails3x_test.rb +12 -2
 - data/test/frameworks/rails4x_test.rb +12 -2
 - data/test/instrumentation/curb_test.rb +2 -2
 - data/test/instrumentation/dalli_test.rb +121 -118
 - data/test/instrumentation/httpclient_test.rb +0 -1
 - data/test/jobs/delayed_job/db_worker_job.rb +29 -0
 - data/test/jobs/delayed_job/error_worker_job.rb +10 -0
 - data/test/jobs/delayed_job/remote_call_worker_job.rb +20 -0
 - data/test/minitest_helper.rb +8 -3
 - data/test/models/widget.rb +19 -0
 - data/test/queues/delayed_job-client_test.rb +95 -0
 - data/test/queues/delayed_job-worker_test.rb +91 -0
 - data/test/servers/delayed_job.rb +102 -0
 - data/test/servers/rails3x_8140.rb +17 -1
 - data/test/servers/rails4x_8140.rb +18 -1
 - data/test/support/auto_tracing.rb +40 -0
 - data/test/support/config_test.rb +5 -1
 - data/traceview.gemspec +1 -0
 - metadata +34 -6
 - data/test/instrumentation/delayed_job-client_test.rb +0 -128
 - data/test/instrumentation/delayed_job-worker_test.rb +0 -177
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 79f990d586021911ee937f498d590b569da91445
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 803519418a7cb2bb09cdcd915d436afaaa434222
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 2f3ad43392f02407f593ed2170fb053a16e7a77c30e30b1ffc1aa62972877373d395f10cf104901a64e6a314df4299405e33714edf5cce111a30acabba16ee5f
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 87606a310e7cd5964ab73d6d57cbd9379e00f49ebcf75c80510c790ebea18132618950352eb933c8f4fc89b6990cb293953db786607c9df4c084c824fa9f6b43
         
     | 
    
        data/.travis.yml
    CHANGED
    
    | 
         @@ -6,42 +6,42 @@ cache: 
     | 
|
| 
       6 
6 
     | 
    
         
             
              - vendor/bundle
         
     | 
| 
       7 
7 
     | 
    
         | 
| 
       8 
8 
     | 
    
         
             
            rvm:
         
     | 
| 
       9 
     | 
    
         
            -
              - 2.2. 
     | 
| 
      
 9 
     | 
    
         
            +
              - 2.2.4
         
     | 
| 
       10 
10 
     | 
    
         
             
              - 1.9.3
         
     | 
| 
       11 
11 
     | 
    
         
             
              - 1.8.7
         
     | 
| 
       12 
     | 
    
         
            -
              - jruby-9.0. 
     | 
| 
      
 12 
     | 
    
         
            +
              - jruby-9.0.4.0
         
     | 
| 
       13 
13 
     | 
    
         | 
| 
       14 
14 
     | 
    
         
             
            gemfile:
         
     | 
| 
       15 
15 
     | 
    
         
             
              - gemfiles/libraries.gemfile
         
     | 
| 
       16 
16 
     | 
    
         
             
              - gemfiles/frameworks.gemfile
         
     | 
| 
       17 
     | 
    
         
            -
              - gemfiles/rails30.gemfile
         
     | 
| 
       18 
     | 
    
         
            -
              - gemfiles/rails31.gemfile
         
     | 
| 
       19 
17 
     | 
    
         
             
              - gemfiles/rails32.gemfile
         
     | 
| 
       20 
     | 
    
         
            -
              - gemfiles/rails40.gemfile
         
     | 
| 
       21 
     | 
    
         
            -
              - gemfiles/rails41.gemfile
         
     | 
| 
       22 
18 
     | 
    
         
             
              - gemfiles/rails42.gemfile
         
     | 
| 
      
 19 
     | 
    
         
            +
              - gemfiles/delayed_job.gemfile
         
     | 
| 
       23 
20 
     | 
    
         | 
| 
       24 
21 
     | 
    
         
             
            matrix:
         
     | 
| 
       25 
22 
     | 
    
         
             
              exclude:
         
     | 
| 
       26 
23 
     | 
    
         
             
                # Rails 4.0+ requires Ruby 1.9.3 or higher
         
     | 
| 
       27 
24 
     | 
    
         
             
                - rvm: 1.8.7
         
     | 
| 
       28 
     | 
    
         
            -
                  gemfile: gemfiles/rails40.gemfile
         
     | 
| 
       29 
     | 
    
         
            -
                - rvm: 1.8.7
         
     | 
| 
       30 
     | 
    
         
            -
                  gemfile: gemfiles/rails41.gemfile
         
     | 
| 
       31 
     | 
    
         
            -
                - rvm: 1.8.7
         
     | 
| 
       32 
     | 
    
         
            -
                  gemfile: gemfiles/rails42.gemfile
         
     | 
| 
       33 
     | 
    
         
            -
                - rvm: ree
         
     | 
| 
       34 
     | 
    
         
            -
                  gemfile: gemfiles/rails40.gemfile
         
     | 
| 
       35 
     | 
    
         
            -
                - rvm: ree
         
     | 
| 
       36 
     | 
    
         
            -
                  gemfile: gemfiles/rails41.gemfile
         
     | 
| 
       37 
     | 
    
         
            -
                - rvm: ree
         
     | 
| 
       38 
25 
     | 
    
         
             
                  gemfile: gemfiles/rails42.gemfile
         
     | 
| 
       39 
26 
     | 
    
         | 
| 
      
 27 
     | 
    
         
            +
                # Don't test DelayedJob under MRI 1.8 and JRuby
         
     | 
| 
      
 28 
     | 
    
         
            +
                - rvm: 1.8.7
         
     | 
| 
      
 29 
     | 
    
         
            +
                  gemfile: gemfiles/delayed_job.gemfile
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
                - rvm: jruby-9.0.4.0
         
     | 
| 
      
 32 
     | 
    
         
            +
                  gemfile: gemfiles/delayed_job.gemfile
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
       40 
34 
     | 
    
         
             
                # Other frameworks tested on Ruby 1.9.3 or higher
         
     | 
| 
       41 
35 
     | 
    
         
             
                - rvm: 1.8.7
         
     | 
| 
       42 
36 
     | 
    
         
             
                  gemfile: gemfiles/frameworks.gemfile
         
     | 
| 
       43 
     | 
    
         
            -
             
     | 
| 
       44 
     | 
    
         
            -
             
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
      
 38 
     | 
    
         
            +
              allow_failures:
         
     | 
| 
      
 39 
     | 
    
         
            +
                - rvm: jruby-9.0.4.0
         
     | 
| 
      
 40 
     | 
    
         
            +
                  gemfile: gemfiles/rails32.gemfile
         
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
| 
      
 42 
     | 
    
         
            +
                - rvm: jruby-9.0.4.0
         
     | 
| 
      
 43 
     | 
    
         
            +
                  gemfile: gemfiles/rails42.gemfile
         
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
       45 
45 
     | 
    
         | 
| 
       46 
46 
     | 
    
         
             
            # Attempt Travis/Cassandra fix re: https://github.com/travis-ci/travis-ci/issues/1484
         
     | 
| 
       47 
47 
     | 
    
         
             
            # Updated Cassandra: https://github.com/travis-ci/travis-ci/issues/1650
         
     | 
    
        data/CHANGELOG.md
    CHANGED
    
    | 
         @@ -4,6 +4,19 @@ https://github.com/appneta/oboe-ruby/releases 
     | 
|
| 
       4 
4 
     | 
    
         | 
| 
       5 
5 
     | 
    
         
             
            Dates in this file are in the format MM/DD/YYYY.
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
      
 7 
     | 
    
         
            +
            # traceview 3.4.0
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            This minor release includes the following features & fixes:
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
            * New [DelayedJob](https://github.com/collectiveidea/delayed_job/) instrumentation: #151
         
     | 
| 
      
 12 
     | 
    
         
            +
            * Limit BSON gem dependency to < 4.0: #152
         
     | 
| 
      
 13 
     | 
    
         
            +
            * Code refactoring & improvements: #148
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            Pushed to Rubygems:
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
            https://rubygems.org/gems/traceview/versions/3.4.0
         
     | 
| 
      
 18 
     | 
    
         
            +
            https://rubygems.org/gems/traceview/versions/3.4.0-java
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
       7 
20 
     | 
    
         
             
            # traceview 3.3.3
         
     | 
| 
       8 
21 
     | 
    
         | 
| 
       9 
22 
     | 
    
         
             
            This patch release includes the following fixes:
         
     | 
    
        data/README.md
    CHANGED
    
    | 
         @@ -16,6 +16,8 @@ _Note: The repository name has been changed to ruby-traceview.  Please update yo 
     | 
|
| 
       16 
16 
     | 
    
         | 
| 
       17 
17 
     | 
    
         
             
            # Installation
         
     | 
| 
       18 
18 
     | 
    
         | 
| 
      
 19 
     | 
    
         
            +
            _Before installing the gem below, make sure that you have the [base packages](http://docs.appneta.com/installation-overview#1-install-base-packages) installed on your host first._
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
       19 
21 
     | 
    
         
             
            The traceview gem is [available on Rubygems](https://rubygems.org/gems/traceview) and can be installed with:
         
     | 
| 
       20 
22 
     | 
    
         | 
| 
       21 
23 
     | 
    
         
             
            ```bash
         
     | 
| 
         @@ -199,7 +201,7 @@ class Engine 
     | 
|
| 
       199 
201 
     | 
    
         
             
            end
         
     | 
| 
       200 
202 
     | 
    
         
             
            ```
         
     | 
| 
       201 
203 
     | 
    
         | 
| 
       202 
     | 
    
         
            -
            This example demonstrates method profiling of instance methods.  Class methods are profiled slightly differently.  See the TraceView [documentation portal](https://docs.appneta.com/ 
     | 
| 
      
 204 
     | 
    
         
            +
            This example demonstrates method profiling of instance methods.  Class methods are profiled slightly differently.  See the TraceView [documentation portal](https://docs.appneta.com/ruby#customizing-ruby-instrumentation) for full details.
         
     | 
| 
       203 
205 
     | 
    
         | 
| 
       204 
206 
     | 
    
         
             
            # Support
         
     | 
| 
       205 
207 
     | 
    
         | 
    
        data/Rakefile
    CHANGED
    
    | 
         @@ -3,6 +3,7 @@ 
     | 
|
| 
       3 
3 
     | 
    
         
             
            require 'rubygems'
         
     | 
| 
       4 
4 
     | 
    
         
             
            require 'bundler/setup'
         
     | 
| 
       5 
5 
     | 
    
         
             
            require 'rake/testtask'
         
     | 
| 
      
 6 
     | 
    
         
            +
            require 'traceview/test'
         
     | 
| 
       6 
7 
     | 
    
         | 
| 
       7 
8 
     | 
    
         
             
            Rake::TestTask.new do |t|
         
     | 
| 
       8 
9 
     | 
    
         
             
              t.verbose = true
         
     | 
| 
         @@ -16,7 +17,10 @@ Rake::TestTask.new do |t| 
     | 
|
| 
       16 
17 
     | 
    
         
             
              # Here we detect the Gemfile the tests are being run against
         
     | 
| 
       17 
18 
     | 
    
         
             
              # and load the appropriate tests.
         
     | 
| 
       18 
19 
     | 
    
         
             
              #
         
     | 
| 
       19 
     | 
    
         
            -
              case  
     | 
| 
      
 20 
     | 
    
         
            +
              case TraceView::Test.gemfile
         
     | 
| 
      
 21 
     | 
    
         
            +
              when /delayed_job/
         
     | 
| 
      
 22 
     | 
    
         
            +
                require 'delayed/tasks'
         
     | 
| 
      
 23 
     | 
    
         
            +
                t.test_files = FileList["test/queues/delayed_job*_test.rb"]
         
     | 
| 
       20 
24 
     | 
    
         
             
              when /rails/
         
     | 
| 
       21 
25 
     | 
    
         
             
                # Pre-load rails to get the major version number
         
     | 
| 
       22 
26 
     | 
    
         
             
                require 'rails'
         
     | 
| 
         @@ -114,22 +118,27 @@ end 
     | 
|
| 
       114 
118 
     | 
    
         
             
            desc "Rebuild the gem's c extension"
         
     | 
| 
       115 
119 
     | 
    
         
             
            task :recompile => [ :distclean, :compile ]
         
     | 
| 
       116 
120 
     | 
    
         | 
| 
       117 
     | 
    
         
            -
            task : 
     | 
| 
       118 
     | 
    
         
            -
              require 'traceview/test'
         
     | 
| 
      
 121 
     | 
    
         
            +
            task :environment do
         
     | 
| 
       119 
122 
     | 
    
         
             
              ENV['TRACEVIEW_GEM_VERBOSE'] = 'true'
         
     | 
| 
      
 123 
     | 
    
         
            +
             
     | 
| 
       120 
124 
     | 
    
         
             
              Bundler.require(:default, :development)
         
     | 
| 
       121 
125 
     | 
    
         
             
              TraceView::Config[:tracing_mode] = :always
         
     | 
| 
       122 
126 
     | 
    
         
             
              TV::Test.load_extras
         
     | 
| 
      
 127 
     | 
    
         
            +
             
     | 
| 
      
 128 
     | 
    
         
            +
              if TV::Test.gemfile?(:delayed_job)
         
     | 
| 
      
 129 
     | 
    
         
            +
                require 'delayed/tasks'
         
     | 
| 
      
 130 
     | 
    
         
            +
              end
         
     | 
| 
      
 131 
     | 
    
         
            +
            end
         
     | 
| 
      
 132 
     | 
    
         
            +
             
     | 
| 
      
 133 
     | 
    
         
            +
            task :console => :environment do
         
     | 
| 
       123 
134 
     | 
    
         
             
              ARGV.clear
         
     | 
| 
      
 135 
     | 
    
         
            +
              if TV::Test.gemfile?(:delayed_job)
         
     | 
| 
      
 136 
     | 
    
         
            +
                require './test/servers/delayed_job'
         
     | 
| 
      
 137 
     | 
    
         
            +
              end
         
     | 
| 
       124 
138 
     | 
    
         
             
              Pry.start
         
     | 
| 
       125 
139 
     | 
    
         
             
            end
         
     | 
| 
       126 
140 
     | 
    
         | 
| 
       127 
141 
     | 
    
         
             
            # Used when testing Resque locally
         
     | 
| 
       128 
     | 
    
         
            -
            task "resque:setup" do
         
     | 
| 
      
 142 
     | 
    
         
            +
            task "resque:setup" => :environment do
         
     | 
| 
       129 
143 
     | 
    
         
             
              require 'resque/tasks'
         
     | 
| 
       130 
     | 
    
         
            -
              require 'traceview/test'
         
     | 
| 
       131 
     | 
    
         
            -
              ENV['TRACEVIEW_GEM_VERBOSE'] = 'true'
         
     | 
| 
       132 
     | 
    
         
            -
              Bundler.require(:default, :development)
         
     | 
| 
       133 
     | 
    
         
            -
              TraceView::Config[:tracing_mode] = :always
         
     | 
| 
       134 
     | 
    
         
            -
              TV::Test.load_extras
         
     | 
| 
       135 
144 
     | 
    
         
             
            end
         
     | 
| 
         @@ -0,0 +1,38 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            source "https://rubygems.org"
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            group :development, :test do
         
     | 
| 
      
 4 
     | 
    
         
            +
              gem 'rake'
         
     | 
| 
      
 5 
     | 
    
         
            +
              gem 'minitest'
         
     | 
| 
      
 6 
     | 
    
         
            +
              gem 'minitest-reporters', '< 1.0.18'
         
     | 
| 
      
 7 
     | 
    
         
            +
              gem 'minitest-debugger', :require => false
         
     | 
| 
      
 8 
     | 
    
         
            +
              gem 'rack-test'
         
     | 
| 
      
 9 
     | 
    
         
            +
              gem 'puma'
         
     | 
| 
      
 10 
     | 
    
         
            +
              gem 'bson'
         
     | 
| 
      
 11 
     | 
    
         
            +
            end
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
            group :development do
         
     | 
| 
      
 14 
     | 
    
         
            +
              gem 'ruby-debug',   :platforms => [ :mri_18, :jruby ]
         
     | 
| 
      
 15 
     | 
    
         
            +
              gem 'debugger',     :platform  =>   :mri_19
         
     | 
| 
      
 16 
     | 
    
         
            +
              gem 'byebug',       :platforms => [ :mri_20, :mri_21, :mri_22 ]
         
     | 
| 
      
 17 
     | 
    
         
            +
              if RUBY_VERSION > '1.8.7'
         
     | 
| 
      
 18 
     | 
    
         
            +
                gem 'pry'
         
     | 
| 
      
 19 
     | 
    
         
            +
                gem 'pry-byebug', :platforms => [ :mri_20, :mri_21, :mri_22 ]
         
     | 
| 
      
 20 
     | 
    
         
            +
              else
         
     | 
| 
      
 21 
     | 
    
         
            +
                gem 'pry', '0.9.12.4'
         
     | 
| 
      
 22 
     | 
    
         
            +
              end
         
     | 
| 
      
 23 
     | 
    
         
            +
            end
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
            if defined?(JRUBY_VERSION)
         
     | 
| 
      
 26 
     | 
    
         
            +
              gem 'sinatra', :require => false
         
     | 
| 
      
 27 
     | 
    
         
            +
              gem 'activerecord-jdbc-adapter'
         
     | 
| 
      
 28 
     | 
    
         
            +
              gem 'jdbc-postgresql'
         
     | 
| 
      
 29 
     | 
    
         
            +
            else
         
     | 
| 
      
 30 
     | 
    
         
            +
              gem 'sinatra'
         
     | 
| 
      
 31 
     | 
    
         
            +
              gem 'pg'
         
     | 
| 
      
 32 
     | 
    
         
            +
              gem "delayed_job_active_record"
         
     | 
| 
      
 33 
     | 
    
         
            +
            end
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
      
 35 
     | 
    
         
            +
            gem "rails", "~> 4.2.5"
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
            gemspec :path => File.expand_path(File.dirname(__FILE__) + '/../')
         
     | 
| 
      
 38 
     | 
    
         
            +
            # vim:syntax=ruby
         
     | 
    
        data/gemfiles/frameworks.gemfile
    CHANGED
    
    | 
         @@ -18,7 +18,6 @@ group :development do 
     | 
|
| 
       18 
18 
     | 
    
         
             
              gem 'ruby-debug',   :platforms => [ :mri_18, :jruby ]
         
     | 
| 
       19 
19 
     | 
    
         
             
              gem 'debugger',     :platform  =>   :mri_19
         
     | 
| 
       20 
20 
     | 
    
         
             
              gem 'byebug',       :platforms => [ :mri_20, :mri_21, :mri_22 ]
         
     | 
| 
       21 
     | 
    
         
            -
            #  gem 'perftools.rb', :platforms => [ :mri_20, :mri_21 ], :require => 'perftools'
         
     | 
| 
       22 
21 
     | 
    
         
             
              if RUBY_VERSION > '1.8.7'
         
     | 
| 
       23 
22 
     | 
    
         
             
                gem 'pry'
         
     | 
| 
       24 
23 
     | 
    
         
             
                gem 'pry-byebug', :platforms => [ :mri_20, :mri_21, :mri_22 ]
         
     | 
| 
         @@ -33,7 +32,7 @@ else 
     | 
|
| 
       33 
32 
     | 
    
         
             
              gem 'sinatra'
         
     | 
| 
       34 
33 
     | 
    
         
             
            end
         
     | 
| 
       35 
34 
     | 
    
         | 
| 
       36 
     | 
    
         
            -
            gem "grape"
         
     | 
| 
      
 35 
     | 
    
         
            +
            gem "grape", "< 0.14"
         
     | 
| 
       37 
36 
     | 
    
         
             
            gem "padrino", '< 0.13'
         
     | 
| 
       38 
37 
     | 
    
         | 
| 
       39 
38 
     | 
    
         
             
            gemspec :path => File.expand_path(File.dirname(__FILE__) + '/../')
         
     | 
    
        data/gemfiles/libraries.gemfile
    CHANGED
    
    | 
         @@ -28,7 +28,6 @@ group :development do 
     | 
|
| 
       28 
28 
     | 
    
         
             
              gem 'ruby-debug',   :platforms => [ :mri_18, :jruby ]
         
     | 
| 
       29 
29 
     | 
    
         
             
              gem 'debugger',     :platform  =>   :mri_19
         
     | 
| 
       30 
30 
     | 
    
         
             
              gem 'byebug',       :platforms => [ :mri_20, :mri_21, :mri_22 ]
         
     | 
| 
       31 
     | 
    
         
            -
            #  gem 'perftools.rb', :platforms => [ :mri_20, :mri_21 ], :require => 'perftools'
         
     | 
| 
       32 
31 
     | 
    
         
             
              if RUBY_VERSION > '1.8.7'
         
     | 
| 
       33 
32 
     | 
    
         
             
                gem 'pry'
         
     | 
| 
       34 
33 
     | 
    
         
             
                gem 'pry-byebug', :platforms => [ :mri_20, :mri_21, :mri_22 ]
         
     | 
| 
         @@ -45,7 +44,7 @@ end 
     | 
|
| 
       45 
44 
     | 
    
         | 
| 
       46 
45 
     | 
    
         
             
            gem 'cassandra'
         
     | 
| 
       47 
46 
     | 
    
         
             
            gem 'curb' unless defined?(JRUBY_VERSION)
         
     | 
| 
       48 
     | 
    
         
            -
            gem 'dalli'
         
     | 
| 
      
 47 
     | 
    
         
            +
            gem 'dalli' if RUBY_VERSION > '1.8.7'
         
     | 
| 
       49 
48 
     | 
    
         
             
            gem 'excon'
         
     | 
| 
       50 
49 
     | 
    
         
             
            gem 'faraday'
         
     | 
| 
       51 
50 
     | 
    
         
             
            gem 'httpclient'
         
     | 
    
        data/gemfiles/rails23.gemfile
    CHANGED
    
    | 
         @@ -31,7 +31,6 @@ group :development do 
     | 
|
| 
       31 
31 
     | 
    
         
             
              gem 'ruby-debug',   :platforms => [ :mri_18, :jruby ]
         
     | 
| 
       32 
32 
     | 
    
         
             
              gem 'debugger',     :platform  =>   :mri_19
         
     | 
| 
       33 
33 
     | 
    
         
             
              gem 'byebug',       :platforms => [ :mri_20, :mri_21, :mri_22 ]
         
     | 
| 
       34 
     | 
    
         
            -
            #  gem 'perftools.rb', :platforms => [ :mri_20, :mri_21 ], :require => 'perftools'
         
     | 
| 
       35 
34 
     | 
    
         
             
              if RUBY_VERSION > '1.8.7'
         
     | 
| 
       36 
35 
     | 
    
         
             
                gem 'pry'
         
     | 
| 
       37 
36 
     | 
    
         
             
                gem 'pry-byebug', :platforms => [ :mri_20, :mri_21, :mri_22 ]
         
     | 
| 
         @@ -46,7 +45,7 @@ else 
     | 
|
| 
       46 
45 
     | 
    
         
             
              gem 'sinatra'
         
     | 
| 
       47 
46 
     | 
    
         
             
            end
         
     | 
| 
       48 
47 
     | 
    
         | 
| 
       49 
     | 
    
         
            -
            gem "rails", "~>2.3"
         
     | 
| 
      
 48 
     | 
    
         
            +
            gem "rails", "~> 2.3.18"
         
     | 
| 
       50 
49 
     | 
    
         | 
| 
       51 
50 
     | 
    
         
             
            gemspec :path => File.expand_path(File.dirname(__FILE__) + '/../')
         
     | 
| 
       52 
51 
     | 
    
         
             
            # vim:syntax=ruby
         
     | 
    
        data/gemfiles/rails30.gemfile
    CHANGED
    
    | 
         @@ -31,7 +31,6 @@ group :development do 
     | 
|
| 
       31 
31 
     | 
    
         
             
              gem 'ruby-debug',   :platforms => [ :mri_18, :jruby ]
         
     | 
| 
       32 
32 
     | 
    
         
             
              gem 'debugger',     :platform  =>   :mri_19
         
     | 
| 
       33 
33 
     | 
    
         
             
              gem 'byebug',       :platforms => [ :mri_20, :mri_21, :mri_22 ]
         
     | 
| 
       34 
     | 
    
         
            -
            #  gem 'perftools.rb', :platforms => [ :mri_20, :mri_21 ], :require => 'perftools'
         
     | 
| 
       35 
34 
     | 
    
         
             
              if RUBY_VERSION > '1.8.7'
         
     | 
| 
       36 
35 
     | 
    
         
             
                gem 'pry'
         
     | 
| 
       37 
36 
     | 
    
         
             
                gem 'pry-byebug', :platforms => [ :mri_20, :mri_21, :mri_22 ]
         
     | 
| 
         @@ -42,11 +41,14 @@ end 
     | 
|
| 
       42 
41 
     | 
    
         | 
| 
       43 
42 
     | 
    
         
             
            if defined?(JRUBY_VERSION)
         
     | 
| 
       44 
43 
     | 
    
         
             
              gem 'sinatra', :require => false
         
     | 
| 
      
 44 
     | 
    
         
            +
              gem 'activerecord-jdbc-adapter'
         
     | 
| 
      
 45 
     | 
    
         
            +
              gem 'jdbc-postgresql'
         
     | 
| 
       45 
46 
     | 
    
         
             
            else
         
     | 
| 
       46 
47 
     | 
    
         
             
              gem 'sinatra'
         
     | 
| 
      
 48 
     | 
    
         
            +
              gem 'pg', '< 0.17'
         
     | 
| 
       47 
49 
     | 
    
         
             
            end
         
     | 
| 
       48 
50 
     | 
    
         | 
| 
       49 
     | 
    
         
            -
            gem "rails", "~>3.0"
         
     | 
| 
      
 51 
     | 
    
         
            +
            gem "rails", "~> 3.0.20"
         
     | 
| 
       50 
52 
     | 
    
         | 
| 
       51 
53 
     | 
    
         
             
            gemspec :path => File.expand_path(File.dirname(__FILE__) + '/../')
         
     | 
| 
       52 
54 
     | 
    
         
             
            # vim:syntax=ruby
         
     | 
    
        data/gemfiles/rails31.gemfile
    CHANGED
    
    | 
         @@ -31,7 +31,6 @@ group :development do 
     | 
|
| 
       31 
31 
     | 
    
         
             
              gem 'ruby-debug',   :platforms => [ :mri_18, :jruby ]
         
     | 
| 
       32 
32 
     | 
    
         
             
              gem 'debugger',     :platform  =>   :mri_19
         
     | 
| 
       33 
33 
     | 
    
         
             
              gem 'byebug',       :platforms => [ :mri_20, :mri_21, :mri_22 ]
         
     | 
| 
       34 
     | 
    
         
            -
            #  gem 'perftools.rb', :platforms => [ :mri_20, :mri_21 ], :require => 'perftools'
         
     | 
| 
       35 
34 
     | 
    
         
             
              if RUBY_VERSION > '1.8.7'
         
     | 
| 
       36 
35 
     | 
    
         
             
                gem 'pry'
         
     | 
| 
       37 
36 
     | 
    
         
             
                gem 'pry-byebug', :platforms => [ :mri_20, :mri_21, :mri_22 ]
         
     | 
| 
         @@ -42,11 +41,14 @@ end 
     | 
|
| 
       42 
41 
     | 
    
         | 
| 
       43 
42 
     | 
    
         
             
            if defined?(JRUBY_VERSION)
         
     | 
| 
       44 
43 
     | 
    
         
             
              gem 'sinatra', :require => false
         
     | 
| 
      
 44 
     | 
    
         
            +
              gem 'activerecord-jdbc-adapter'
         
     | 
| 
      
 45 
     | 
    
         
            +
              gem 'jdbc-postgresql'
         
     | 
| 
       45 
46 
     | 
    
         
             
            else
         
     | 
| 
       46 
47 
     | 
    
         
             
              gem 'sinatra'
         
     | 
| 
      
 48 
     | 
    
         
            +
              gem 'pg', '< 0.17'
         
     | 
| 
       47 
49 
     | 
    
         
             
            end
         
     | 
| 
       48 
50 
     | 
    
         | 
| 
       49 
     | 
    
         
            -
            gem "rails", "~>3.1"
         
     | 
| 
      
 51 
     | 
    
         
            +
            gem "rails", "~> 3.1.12"
         
     | 
| 
       50 
52 
     | 
    
         | 
| 
       51 
53 
     | 
    
         
             
            gemspec :path => File.expand_path(File.dirname(__FILE__) + '/../')
         
     | 
| 
       52 
54 
     | 
    
         
             
            # vim:syntax=ruby
         
     | 
    
        data/gemfiles/rails32.gemfile
    CHANGED
    
    | 
         @@ -31,7 +31,6 @@ group :development do 
     | 
|
| 
       31 
31 
     | 
    
         
             
              gem 'ruby-debug',   :platforms => [ :mri_18, :jruby ]
         
     | 
| 
       32 
32 
     | 
    
         
             
              gem 'debugger',     :platform  =>   :mri_19
         
     | 
| 
       33 
33 
     | 
    
         
             
              gem 'byebug',       :platforms => [ :mri_20, :mri_21, :mri_22 ]
         
     | 
| 
       34 
     | 
    
         
            -
            #  gem 'perftools.rb', :platforms => [ :mri_20, :mri_21 ], :require => 'perftools'
         
     | 
| 
       35 
34 
     | 
    
         
             
              if RUBY_VERSION > '1.8.7'
         
     | 
| 
       36 
35 
     | 
    
         
             
                gem 'pry'
         
     | 
| 
       37 
36 
     | 
    
         
             
                gem 'pry-byebug', :platforms => [ :mri_20, :mri_21, :mri_22 ]
         
     | 
| 
         @@ -42,11 +41,14 @@ end 
     | 
|
| 
       42 
41 
     | 
    
         | 
| 
       43 
42 
     | 
    
         
             
            if defined?(JRUBY_VERSION)
         
     | 
| 
       44 
43 
     | 
    
         
             
              gem 'sinatra', :require => false
         
     | 
| 
      
 44 
     | 
    
         
            +
              gem 'activerecord-jdbc-adapter'
         
     | 
| 
      
 45 
     | 
    
         
            +
              gem 'jdbc-postgresql'
         
     | 
| 
       45 
46 
     | 
    
         
             
            else
         
     | 
| 
       46 
47 
     | 
    
         
             
              gem 'sinatra'
         
     | 
| 
      
 48 
     | 
    
         
            +
              gem 'pg', '< 0.17'
         
     | 
| 
       47 
49 
     | 
    
         
             
            end
         
     | 
| 
       48 
50 
     | 
    
         | 
| 
       49 
     | 
    
         
            -
            gem "rails", "~>3.2"
         
     | 
| 
      
 51 
     | 
    
         
            +
            gem "rails", "~> 3.2.22"
         
     | 
| 
       50 
52 
     | 
    
         | 
| 
       51 
53 
     | 
    
         
             
            gemspec :path => File.expand_path(File.dirname(__FILE__) + '/../')
         
     | 
| 
       52 
54 
     | 
    
         
             
            # vim:syntax=ruby
         
     | 
    
        data/gemfiles/rails40.gemfile
    CHANGED
    
    | 
         @@ -14,7 +14,6 @@ group :development do 
     | 
|
| 
       14 
14 
     | 
    
         
             
              gem 'ruby-debug',   :platforms => [ :mri_18, :jruby ]
         
     | 
| 
       15 
15 
     | 
    
         
             
              gem 'debugger',     :platform  =>   :mri_19
         
     | 
| 
       16 
16 
     | 
    
         
             
              gem 'byebug',       :platforms => [ :mri_20, :mri_21, :mri_22 ]
         
     | 
| 
       17 
     | 
    
         
            -
            #  gem 'perftools.rb', :platforms => [ :mri_20, :mri_21 ], :require => 'perftools'
         
     | 
| 
       18 
17 
     | 
    
         
             
              if RUBY_VERSION > '1.8.7'
         
     | 
| 
       19 
18 
     | 
    
         
             
                gem 'pry'
         
     | 
| 
       20 
19 
     | 
    
         
             
                gem 'pry-byebug', :platforms => [ :mri_20, :mri_21, :mri_22 ]
         
     | 
| 
         @@ -25,11 +24,14 @@ end 
     | 
|
| 
       25 
24 
     | 
    
         | 
| 
       26 
25 
     | 
    
         
             
            if defined?(JRUBY_VERSION)
         
     | 
| 
       27 
26 
     | 
    
         
             
              gem 'sinatra', :require => false
         
     | 
| 
      
 27 
     | 
    
         
            +
              gem 'activerecord-jdbc-adapter'
         
     | 
| 
      
 28 
     | 
    
         
            +
              gem 'jdbc-postgresql'
         
     | 
| 
       28 
29 
     | 
    
         
             
            else
         
     | 
| 
       29 
30 
     | 
    
         
             
              gem 'sinatra'
         
     | 
| 
      
 31 
     | 
    
         
            +
              gem 'pg', '< 0.17'
         
     | 
| 
       30 
32 
     | 
    
         
             
            end
         
     | 
| 
       31 
33 
     | 
    
         | 
| 
       32 
     | 
    
         
            -
            gem "rails", "~>4.0"
         
     | 
| 
      
 34 
     | 
    
         
            +
            gem "rails", "~> 4.0.13"
         
     | 
| 
       33 
35 
     | 
    
         | 
| 
       34 
36 
     | 
    
         
             
            gemspec :path => File.expand_path(File.dirname(__FILE__) + '/../')
         
     | 
| 
       35 
37 
     | 
    
         
             
            # vim:syntax=ruby
         
     | 
    
        data/gemfiles/rails41.gemfile
    CHANGED
    
    | 
         @@ -14,7 +14,6 @@ group :development do 
     | 
|
| 
       14 
14 
     | 
    
         
             
              gem 'ruby-debug',   :platforms => [ :mri_18, :jruby ]
         
     | 
| 
       15 
15 
     | 
    
         
             
              gem 'debugger',     :platform  =>   :mri_19
         
     | 
| 
       16 
16 
     | 
    
         
             
              gem 'byebug',       :platforms => [ :mri_20, :mri_21, :mri_22 ]
         
     | 
| 
       17 
     | 
    
         
            -
            #  gem 'perftools.rb', :platforms => [ :mri_20, :mri_21 ], :require => 'perftools'
         
     | 
| 
       18 
17 
     | 
    
         
             
              if RUBY_VERSION > '1.8.7'
         
     | 
| 
       19 
18 
     | 
    
         
             
                gem 'pry'
         
     | 
| 
       20 
19 
     | 
    
         
             
                gem 'pry-byebug', :platforms => [ :mri_20, :mri_21, :mri_22 ]
         
     | 
| 
         @@ -25,11 +24,14 @@ end 
     | 
|
| 
       25 
24 
     | 
    
         | 
| 
       26 
25 
     | 
    
         
             
            if defined?(JRUBY_VERSION)
         
     | 
| 
       27 
26 
     | 
    
         
             
              gem 'sinatra', :require => false
         
     | 
| 
      
 27 
     | 
    
         
            +
              gem 'activerecord-jdbc-adapter'
         
     | 
| 
      
 28 
     | 
    
         
            +
              gem 'jdbc-postgresql'
         
     | 
| 
       28 
29 
     | 
    
         
             
            else
         
     | 
| 
       29 
30 
     | 
    
         
             
              gem 'sinatra'
         
     | 
| 
      
 31 
     | 
    
         
            +
              gem 'pg', '< 0.17'
         
     | 
| 
       30 
32 
     | 
    
         
             
            end
         
     | 
| 
       31 
33 
     | 
    
         | 
| 
       32 
     | 
    
         
            -
            gem "rails", "~>4.1"
         
     | 
| 
      
 34 
     | 
    
         
            +
            gem "rails", "~> 4.1.14"
         
     | 
| 
       33 
35 
     | 
    
         | 
| 
       34 
36 
     | 
    
         
             
            gemspec :path => File.expand_path(File.dirname(__FILE__) + '/../')
         
     | 
| 
       35 
37 
     | 
    
         
             
            # vim:syntax=ruby
         
     | 
    
        data/gemfiles/rails42.gemfile
    CHANGED
    
    | 
         @@ -14,7 +14,6 @@ group :development do 
     | 
|
| 
       14 
14 
     | 
    
         
             
              gem 'ruby-debug',   :platforms => [ :mri_18, :jruby ]
         
     | 
| 
       15 
15 
     | 
    
         
             
              gem 'debugger',     :platform  =>   :mri_19
         
     | 
| 
       16 
16 
     | 
    
         
             
              gem 'byebug',       :platforms => [ :mri_20, :mri_21, :mri_22 ]
         
     | 
| 
       17 
     | 
    
         
            -
            #  gem 'perftools.rb', :platforms => [ :mri_20, :mri_21 ], :require => 'perftools'
         
     | 
| 
       18 
17 
     | 
    
         
             
              if RUBY_VERSION > '1.8.7'
         
     | 
| 
       19 
18 
     | 
    
         
             
                gem 'pry'
         
     | 
| 
       20 
19 
     | 
    
         
             
                gem 'pry-byebug', :platforms => [ :mri_20, :mri_21, :mri_22 ]
         
     | 
| 
         @@ -25,11 +24,14 @@ end 
     | 
|
| 
       25 
24 
     | 
    
         | 
| 
       26 
25 
     | 
    
         
             
            if defined?(JRUBY_VERSION)
         
     | 
| 
       27 
26 
     | 
    
         
             
              gem 'sinatra', :require => false
         
     | 
| 
      
 27 
     | 
    
         
            +
              gem 'activerecord-jdbc-adapter'
         
     | 
| 
      
 28 
     | 
    
         
            +
              gem 'jdbc-postgresql'
         
     | 
| 
       28 
29 
     | 
    
         
             
            else
         
     | 
| 
       29 
30 
     | 
    
         
             
              gem 'sinatra'
         
     | 
| 
      
 31 
     | 
    
         
            +
              gem 'pg'
         
     | 
| 
       30 
32 
     | 
    
         
             
            end
         
     | 
| 
       31 
33 
     | 
    
         | 
| 
       32 
     | 
    
         
            -
            gem "rails", "~>4.2"
         
     | 
| 
      
 34 
     | 
    
         
            +
            gem "rails", "~> 4.2.5"
         
     | 
| 
       33 
35 
     | 
    
         | 
| 
       34 
36 
     | 
    
         
             
            gemspec :path => File.expand_path(File.dirname(__FILE__) + '/../')
         
     | 
| 
       35 
37 
     | 
    
         
             
            # vim:syntax=ruby
         
     | 
| 
         @@ -13,11 +13,9 @@ module TraceView 
     | 
|
| 
       13 
13 
     | 
    
         
             
                  def report_init(layer = 'rack')
         
     | 
| 
       14 
14 
     | 
    
         
             
                    # Don't send __Init in development, test or if the gem
         
     | 
| 
       15 
15 
     | 
    
         
             
                    # isn't fully loaded (e.g. missing c-extension)
         
     | 
| 
       16 
     | 
    
         
            -
                    if %w(development test).include? 
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
             
     | 
| 
       19 
     | 
    
         
            -
                      return
         
     | 
| 
       20 
     | 
    
         
            -
                    end
         
     | 
| 
      
 16 
     | 
    
         
            +
                    return if %w(development test).include?(ENV['RACK_ENV']) ||
         
     | 
| 
      
 17 
     | 
    
         
            +
                              ENV.key?('TRACEVIEW_GEM_TEST') ||
         
     | 
| 
      
 18 
     | 
    
         
            +
                              !TraceView.loaded
         
     | 
| 
       21 
19 
     | 
    
         | 
| 
       22 
20 
     | 
    
         
             
                    platform_info = TraceView::Util.build_init_report
         
     | 
| 
       23 
21 
     | 
    
         | 
| 
         @@ -31,9 +31,9 @@ module TraceView 
     | 
|
| 
       31 
31 
     | 
    
         
             
                  #
         
     | 
| 
       32 
32 
     | 
    
         
             
                  # Returns nothing.
         
     | 
| 
       33 
33 
     | 
    
         
             
                  def log(layer, label, opts = {})
         
     | 
| 
       34 
     | 
    
         
            -
                     
     | 
| 
       35 
     | 
    
         
            -
             
     | 
| 
       36 
     | 
    
         
            -
                     
     | 
| 
      
 34 
     | 
    
         
            +
                    return unless TraceView.loaded
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
      
 36 
     | 
    
         
            +
                    log_event(layer, label, TraceView::Context.createEvent, opts)
         
     | 
| 
       37 
37 
     | 
    
         
             
                  end
         
     | 
| 
       38 
38 
     | 
    
         | 
| 
       39 
39 
     | 
    
         
             
                  ##
         
     | 
| 
         @@ -58,6 +58,11 @@ module TraceView 
     | 
|
| 
       58 
58 
     | 
    
         
             
                  def log_exception(layer, exn, kvs = {})
         
     | 
| 
       59 
59 
     | 
    
         
             
                    return if !TraceView.loaded || exn.instance_variable_get(:@oboe_logged)
         
     | 
| 
       60 
60 
     | 
    
         | 
| 
      
 61 
     | 
    
         
            +
                    unless exn
         
     | 
| 
      
 62 
     | 
    
         
            +
                      TV.logger.debug '[traceview/debug] log_exception called with nil exception'
         
     | 
| 
      
 63 
     | 
    
         
            +
                      return
         
     | 
| 
      
 64 
     | 
    
         
            +
                    end
         
     | 
| 
      
 65 
     | 
    
         
            +
             
     | 
| 
       61 
66 
     | 
    
         
             
                    kvs.merge!(:ErrorClass => exn.class.name,
         
     | 
| 
       62 
67 
     | 
    
         
             
                               :ErrorMsg => exn.message,
         
     | 
| 
       63 
68 
     | 
    
         
             
                               :Backtrace => exn.backtrace.join("\r\n"))
         
     | 
| 
         @@ -84,6 +89,14 @@ module TraceView 
     | 
|
| 
       84 
89 
     | 
    
         
             
                    return if !TraceView.loaded || TraceView.never? ||
         
     | 
| 
       85 
90 
     | 
    
         
             
                              (opts.key?(:URL) && ::TraceView::Util.static_asset?(opts[:URL]))
         
     | 
| 
       86 
91 
     | 
    
         | 
| 
      
 92 
     | 
    
         
            +
                    # For entry only layers (DelayedJob workers, Sidekiq workers), auto-set the tracing mode
         
     | 
| 
      
 93 
     | 
    
         
            +
                    # Don't do this if tracing mode is already :always or :never
         
     | 
| 
      
 94 
     | 
    
         
            +
                    if TraceView.through? && TraceView.entry_layer?(layer)
         
     | 
| 
      
 95 
     | 
    
         
            +
                      TraceView.logger.debug "[traceview/debug] Detected #{layer}: auto-configuring tracing mode"
         
     | 
| 
      
 96 
     | 
    
         
            +
                      TraceView::Config[:tracing_mode] = :always
         
     | 
| 
      
 97 
     | 
    
         
            +
                    end
         
     | 
| 
      
 98 
     | 
    
         
            +
             
     | 
| 
      
 99 
     | 
    
         
            +
                    # Used by JRuby/Java webservers such as Tomcat
         
     | 
| 
       87 
100 
     | 
    
         
             
                    TraceView::Context.fromString(xtrace) if TraceView.pickup_context?(xtrace)
         
     | 
| 
       88 
101 
     | 
    
         | 
| 
       89 
102 
     | 
    
         
             
                    if TraceView.tracing?
         
     | 
| 
         @@ -132,12 +145,12 @@ module TraceView 
     | 
|
| 
       132 
145 
     | 
    
         
             
                  #
         
     | 
| 
       133 
146 
     | 
    
         
             
                  # Returns an xtrace metadata string
         
     | 
| 
       134 
147 
     | 
    
         
             
                  def log_end(layer, opts = {})
         
     | 
| 
       135 
     | 
    
         
            -
                     
     | 
| 
       136 
     | 
    
         
            -
             
     | 
| 
       137 
     | 
    
         
            -
             
     | 
| 
       138 
     | 
    
         
            -
             
     | 
| 
       139 
     | 
    
         
            -
             
     | 
| 
       140 
     | 
    
         
            -
                     
     | 
| 
      
 148 
     | 
    
         
            +
                    return unless TraceView.loaded
         
     | 
| 
      
 149 
     | 
    
         
            +
             
     | 
| 
      
 150 
     | 
    
         
            +
                    log_event(layer, 'exit', TraceView::Context.createEvent, opts)
         
     | 
| 
      
 151 
     | 
    
         
            +
                    xtrace = TraceView::Context.toString
         
     | 
| 
      
 152 
     | 
    
         
            +
                    TraceView::Context.clear unless TraceView.has_incoming_context?
         
     | 
| 
      
 153 
     | 
    
         
            +
                    xtrace
         
     | 
| 
       141 
154 
     | 
    
         
             
                  end
         
     | 
| 
       142 
155 
     | 
    
         | 
| 
       143 
156 
     | 
    
         
             
                  ##
         
     | 
| 
         @@ -157,10 +170,10 @@ module TraceView 
     | 
|
| 
       157 
170 
     | 
    
         
             
                  #
         
     | 
| 
       158 
171 
     | 
    
         
             
                  # Returns an xtrace metadata string
         
     | 
| 
       159 
172 
     | 
    
         
             
                  def log_entry(layer, kvs = {}, op = nil)
         
     | 
| 
       160 
     | 
    
         
            -
                     
     | 
| 
       161 
     | 
    
         
            -
             
     | 
| 
       162 
     | 
    
         
            -
             
     | 
| 
       163 
     | 
    
         
            -
                     
     | 
| 
      
 173 
     | 
    
         
            +
                    return unless TraceView.loaded
         
     | 
| 
      
 174 
     | 
    
         
            +
             
     | 
| 
      
 175 
     | 
    
         
            +
                    TraceView.layer_op = op if op
         
     | 
| 
      
 176 
     | 
    
         
            +
                    log_event(layer, 'entry', TraceView::Context.createEvent, kvs)
         
     | 
| 
       164 
177 
     | 
    
         
             
                  end
         
     | 
| 
       165 
178 
     | 
    
         | 
| 
       166 
179 
     | 
    
         
             
                  ##
         
     | 
| 
         @@ -179,9 +192,9 @@ module TraceView 
     | 
|
| 
       179 
192 
     | 
    
         
             
                  #
         
     | 
| 
       180 
193 
     | 
    
         
             
                  # Returns an xtrace metadata string
         
     | 
| 
       181 
194 
     | 
    
         
             
                  def log_info(layer, kvs = {})
         
     | 
| 
       182 
     | 
    
         
            -
                     
     | 
| 
       183 
     | 
    
         
            -
             
     | 
| 
       184 
     | 
    
         
            -
                     
     | 
| 
      
 195 
     | 
    
         
            +
                    return unless TraceView.loaded
         
     | 
| 
      
 196 
     | 
    
         
            +
             
     | 
| 
      
 197 
     | 
    
         
            +
                    log_event(layer, 'info', TraceView::Context.createEvent, kvs)
         
     | 
| 
       185 
198 
     | 
    
         
             
                  end
         
     | 
| 
       186 
199 
     | 
    
         | 
| 
       187 
200 
     | 
    
         
             
                  ##
         
     | 
| 
         @@ -201,10 +214,10 @@ module TraceView 
     | 
|
| 
       201 
214 
     | 
    
         
             
                  #
         
     | 
| 
       202 
215 
     | 
    
         
             
                  # Returns an xtrace metadata string
         
     | 
| 
       203 
216 
     | 
    
         
             
                  def log_exit(layer, kvs = {}, op = nil)
         
     | 
| 
       204 
     | 
    
         
            -
                     
     | 
| 
       205 
     | 
    
         
            -
             
     | 
| 
       206 
     | 
    
         
            -
             
     | 
| 
       207 
     | 
    
         
            -
                     
     | 
| 
      
 217 
     | 
    
         
            +
                    return unless TraceView.loaded
         
     | 
| 
      
 218 
     | 
    
         
            +
             
     | 
| 
      
 219 
     | 
    
         
            +
                    TraceView.layer_op = nil if op
         
     | 
| 
      
 220 
     | 
    
         
            +
                    log_event(layer, 'exit', TraceView::Context.createEvent, kvs)
         
     | 
| 
       208 
221 
     | 
    
         
             
                  end
         
     | 
| 
       209 
222 
     | 
    
         | 
| 
       210 
223 
     | 
    
         
             
                  ##
         
     | 
| 
         @@ -227,36 +240,36 @@ module TraceView 
     | 
|
| 
       227 
240 
     | 
    
         
             
                  #   TraceView::API.log_event(:layer_name, 'exit',  exit_event, { :id => @user.id })
         
     | 
| 
       228 
241 
     | 
    
         
             
                  #
         
     | 
| 
       229 
242 
     | 
    
         
             
                  def log_event(layer, label, event, opts = {})
         
     | 
| 
       230 
     | 
    
         
            -
                     
     | 
| 
       231 
     | 
    
         
            -
             
     | 
| 
       232 
     | 
    
         
            -
             
     | 
| 
       233 
     | 
    
         
            -
             
     | 
| 
       234 
     | 
    
         
            -
             
     | 
| 
       235 
     | 
    
         
            -
             
     | 
| 
       236 
     | 
    
         
            -
             
     | 
| 
       237 
     | 
    
         
            -
             
     | 
| 
       238 
     | 
    
         
            -
             
     | 
| 
       239 
     | 
    
         
            -
             
     | 
| 
       240 
     | 
    
         
            -
             
     | 
| 
       241 
     | 
    
         
            -
             
     | 
| 
       242 
     | 
    
         
            -
             
     | 
| 
       243 
     | 
    
         
            -
             
     | 
| 
       244 
     | 
    
         
            -
             
     | 
| 
       245 
     | 
    
         
            -
             
     | 
| 
       246 
     | 
    
         
            -
             
     | 
| 
       247 
     | 
    
         
            -
             
     | 
| 
       248 
     | 
    
         
            -
             
     | 
| 
       249 
     | 
    
         
            -
             
     | 
| 
       250 
     | 
    
         
            -
             
     | 
| 
       251 
     | 
    
         
            -
             
     | 
| 
       252 
     | 
    
         
            -
             
     | 
| 
       253 
     | 
    
         
            -
             
     | 
| 
       254 
     | 
    
         
            -
             
     | 
| 
       255 
     | 
    
         
            -
                         
     | 
| 
       256 
     | 
    
         
            -
                      end 
     | 
| 
       257 
     | 
    
         
            -
             
     | 
| 
       258 
     | 
    
         
            -
             
     | 
| 
       259 
     | 
    
         
            -
                     
     | 
| 
      
 243 
     | 
    
         
            +
                    return unless TraceView.loaded
         
     | 
| 
      
 244 
     | 
    
         
            +
             
     | 
| 
      
 245 
     | 
    
         
            +
                    event.addInfo('Layer', layer.to_s) if layer
         
     | 
| 
      
 246 
     | 
    
         
            +
                    event.addInfo('Label', label.to_s)
         
     | 
| 
      
 247 
     | 
    
         
            +
             
     | 
| 
      
 248 
     | 
    
         
            +
                    TraceView.layer = layer if label == 'entry'
         
     | 
| 
      
 249 
     | 
    
         
            +
                    TraceView.layer = nil   if label == 'exit'
         
     | 
| 
      
 250 
     | 
    
         
            +
             
     | 
| 
      
 251 
     | 
    
         
            +
                    opts.each do |k, v|
         
     | 
| 
      
 252 
     | 
    
         
            +
                      value = nil
         
     | 
| 
      
 253 
     | 
    
         
            +
             
     | 
| 
      
 254 
     | 
    
         
            +
                      next unless valid_key? k
         
     | 
| 
      
 255 
     | 
    
         
            +
             
     | 
| 
      
 256 
     | 
    
         
            +
                      if [Integer, Float, Fixnum, NilClass, String].include?(v.class)
         
     | 
| 
      
 257 
     | 
    
         
            +
                        value = v
         
     | 
| 
      
 258 
     | 
    
         
            +
                      elsif v.class == Set
         
     | 
| 
      
 259 
     | 
    
         
            +
                        value = v.to_a.to_s
         
     | 
| 
      
 260 
     | 
    
         
            +
                      else
         
     | 
| 
      
 261 
     | 
    
         
            +
                        value = v.to_s if v.respond_to?(:to_s)
         
     | 
| 
      
 262 
     | 
    
         
            +
                      end
         
     | 
| 
      
 263 
     | 
    
         
            +
             
     | 
| 
      
 264 
     | 
    
         
            +
                      begin
         
     | 
| 
      
 265 
     | 
    
         
            +
                        event.addInfo(k.to_s, value)
         
     | 
| 
      
 266 
     | 
    
         
            +
                      rescue ArgumentError => e
         
     | 
| 
      
 267 
     | 
    
         
            +
                        TraceView.logger.debug "[TraceView/debug] Couldn't add event KV: #{k} => #{v.class}"
         
     | 
| 
      
 268 
     | 
    
         
            +
                        TraceView.logger.debug "[TraceView/debug] #{e.message}"
         
     | 
| 
      
 269 
     | 
    
         
            +
                      end
         
     | 
| 
      
 270 
     | 
    
         
            +
                    end if !opts.nil? && opts.any?
         
     | 
| 
      
 271 
     | 
    
         
            +
             
     | 
| 
      
 272 
     | 
    
         
            +
                    TraceView::Reporter.sendReport(event)
         
     | 
| 
       260 
273 
     | 
    
         
             
                  end
         
     | 
| 
       261 
274 
     | 
    
         
             
                end
         
     | 
| 
       262 
275 
     | 
    
         
             
              end
         
     | 
| 
         @@ -13,17 +13,18 @@ module TraceView 
     | 
|
| 
       13 
13 
     | 
    
         
             
                  end
         
     | 
| 
       14 
14 
     | 
    
         | 
| 
       15 
15 
     | 
    
         
             
                  def remote_host(key)
         
     | 
| 
       16 
     | 
    
         
            -
                    return unless defined?(Lib.memcached_server_by_key)  
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
      
 16 
     | 
    
         
            +
                    return unless defined?(Lib.memcached_server_by_key) &&
         
     | 
| 
      
 17 
     | 
    
         
            +
                                  defined?(@struct) && defined?(is_unix_socket?)
         
     | 
| 
       18 
18 
     | 
    
         | 
| 
       19 
19 
     | 
    
         
             
                    server_as_array = Lib.memcached_server_by_key(@struct, key.to_s)
         
     | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
       21 
     | 
    
         
            -
             
     | 
| 
       22 
     | 
    
         
            -
             
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
             
     | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
                    return unless server_as_array.is_a?(Array)
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
                    server = server_as_array.first
         
     | 
| 
      
 24 
     | 
    
         
            +
                    if is_unix_socket?(server)
         
     | 
| 
      
 25 
     | 
    
         
            +
                      'localhost'
         
     | 
| 
      
 26 
     | 
    
         
            +
                    elsif defined?(server.hostname)
         
     | 
| 
      
 27 
     | 
    
         
            +
                      server.hostname
         
     | 
| 
       27 
28 
     | 
    
         
             
                    end
         
     | 
| 
       28 
29 
     | 
    
         
             
                  end
         
     | 
| 
       29 
30 
     | 
    
         
             
                end
         
     | 
| 
         @@ -69,13 +69,12 @@ module TraceView 
     | 
|
| 
       69 
69 
     | 
    
         
             
                  #   TraceView::API.profile_method(Array, :sort, opts)
         
     | 
| 
       70 
70 
     | 
    
         
             
                  #
         
     | 
| 
       71 
71 
     | 
    
         
             
                  def profile_method(klass, method, opts = {}, extra_kvs = {})
         
     | 
| 
       72 
     | 
    
         
            -
             
     | 
| 
       73 
72 
     | 
    
         
             
                    # If we're on an unsupported platform (ahem Mac), just act
         
     | 
| 
       74 
73 
     | 
    
         
             
                    # like we did something to nicely play the no-op part.
         
     | 
| 
       75 
74 
     | 
    
         
             
                    return true unless TraceView.loaded
         
     | 
| 
       76 
75 
     | 
    
         | 
| 
       77 
76 
     | 
    
         
             
                    if RUBY_VERSION < '1.9.3'
         
     | 
| 
       78 
     | 
    
         
            -
                      TraceView.logger.warn  
     | 
| 
      
 77 
     | 
    
         
            +
                      TraceView.logger.warn '[traceview/error] profile_method: Use the legacy method profiling for Ruby versions before 1.9.3'
         
     | 
| 
       79 
78 
     | 
    
         
             
                      return false
         
     | 
| 
       80 
79 
     | 
    
         | 
| 
       81 
80 
     | 
    
         
             
                    elsif !klass.is_a?(Module)
         
     | 
| 
         @@ -110,7 +109,7 @@ module TraceView 
     | 
|
| 
       110 
109 
     | 
    
         | 
| 
       111 
110 
     | 
    
         
             
                    # Check if already profiled
         
     | 
| 
       112 
111 
     | 
    
         
             
                    if klass.instance_methods.include?(with_traceview.to_sym) ||
         
     | 
| 
       113 
     | 
    
         
            -
             
     | 
| 
      
 112 
     | 
    
         
            +
                       klass.singleton_methods.include?(with_traceview.to_sym)
         
     | 
| 
       114 
113 
     | 
    
         
             
                      TraceView.logger.warn "[traceview/error] profile_method: #{klass}::#{method} already profiled."
         
     | 
| 
       115 
114 
     | 
    
         
             
                      TraceView.logger.warn "[traceview/error] profile_method: #{__FILE__}:#{__LINE__}"
         
     | 
| 
       116 
115 
     | 
    
         
             
                      return false
         
     | 
| 
         @@ -130,17 +129,17 @@ module TraceView 
     | 
|
| 
       130 
129 
     | 
    
         | 
| 
       131 
130 
     | 
    
         
             
                    if instance_method
         
     | 
| 
       132 
131 
     | 
    
         
             
                      klass.class_eval do
         
     | 
| 
       133 
     | 
    
         
            -
                        define_method(with_traceview)  
     | 
| 
      
 132 
     | 
    
         
            +
                        define_method(with_traceview) do |*args, &block|
         
     | 
| 
       134 
133 
     | 
    
         
             
                          profile_wrapper(without_traceview, report_kvs, opts, *args, &block)
         
     | 
| 
       135 
     | 
    
         
            -
                         
     | 
| 
      
 134 
     | 
    
         
            +
                        end
         
     | 
| 
       136 
135 
     | 
    
         | 
| 
       137 
136 
     | 
    
         
             
                        alias_method without_traceview, "#{method}"
         
     | 
| 
       138 
137 
     | 
    
         
             
                        alias_method "#{method}", with_traceview
         
     | 
| 
       139 
138 
     | 
    
         
             
                      end
         
     | 
| 
       140 
139 
     | 
    
         
             
                    elsif class_method
         
     | 
| 
       141 
     | 
    
         
            -
                      klass.define_singleton_method(with_traceview)  
     | 
| 
      
 140 
     | 
    
         
            +
                      klass.define_singleton_method(with_traceview) do |*args, &block|
         
     | 
| 
       142 
141 
     | 
    
         
             
                        profile_wrapper(without_traceview, report_kvs, opts, *args, &block)
         
     | 
| 
       143 
     | 
    
         
            -
                       
     | 
| 
      
 142 
     | 
    
         
            +
                      end
         
     | 
| 
       144 
143 
     | 
    
         | 
| 
       145 
144 
     | 
    
         
             
                      klass.singleton_class.class_eval do
         
     | 
| 
       146 
145 
     | 
    
         
             
                        alias_method without_traceview, "#{method}"
         
     |