app_profiler 0.0.6 → 0.0.7
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/lib/app_profiler.rb +10 -1
 - data/lib/app_profiler/profiler.rb +15 -15
 - data/lib/app_profiler/version.rb +1 -1
 - data/lib/app_profiler/viewer/speedscope_viewer.rb +6 -1
 - metadata +2 -2
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: b93daeac19342da210b998d381259941dc1d12c96fa5d58097423d86b32c03f3
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: d7b50f279a8b197ba847363db5a6e92b394ac506804d9a499c519dcd36b6071c
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: d996e6faf3bb8c02e8f34e462d3c74beac53d656d188330972ecba83770524b42dbc36132aa8b6e2cadd57fe0b6b5504a548a1d96ae58b3e7e14ac504d672f2e
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 124bc292cff5decf4cdf7f7d4b8b22cc2820123a1fbda5f56970a1fd76da74675e68dbb5a953024c778eb64bb5c9a7ff8b41f0a62be5dcbdd0f6e214a7cc8fc7
         
     | 
    
        data/lib/app_profiler.rb
    CHANGED
    
    | 
         @@ -24,7 +24,7 @@ module AppProfiler 
     | 
|
| 
       24 
24 
     | 
    
         
             
              autoload :Profiler, "app_profiler/profiler"
         
     | 
| 
       25 
25 
     | 
    
         
             
              autoload :Profile, "app_profiler/profile"
         
     | 
| 
       26 
26 
     | 
    
         | 
| 
       27 
     | 
    
         
            -
              mattr_accessor :logger
         
     | 
| 
      
 27 
     | 
    
         
            +
              mattr_accessor :logger, default: Logger.new($stdout)
         
     | 
| 
       28 
28 
     | 
    
         
             
              mattr_accessor :root
         
     | 
| 
       29 
29 
     | 
    
         
             
              mattr_accessor :profile_root
         
     | 
| 
       30 
30 
     | 
    
         | 
| 
         @@ -43,6 +43,15 @@ module AppProfiler 
     | 
|
| 
       43 
43 
     | 
    
         
             
                  Profiler.run(*args, &block)
         
     | 
| 
       44 
44 
     | 
    
         
             
                end
         
     | 
| 
       45 
45 
     | 
    
         | 
| 
      
 46 
     | 
    
         
            +
                def start(*args)
         
     | 
| 
      
 47 
     | 
    
         
            +
                  Profiler.start(*args)
         
     | 
| 
      
 48 
     | 
    
         
            +
                end
         
     | 
| 
      
 49 
     | 
    
         
            +
             
     | 
| 
      
 50 
     | 
    
         
            +
                def stop
         
     | 
| 
      
 51 
     | 
    
         
            +
                  Profiler.stop
         
     | 
| 
      
 52 
     | 
    
         
            +
                  Profiler.results
         
     | 
| 
      
 53 
     | 
    
         
            +
                end
         
     | 
| 
      
 54 
     | 
    
         
            +
             
     | 
| 
       46 
55 
     | 
    
         
             
                def profile_header=(profile_header)
         
     | 
| 
       47 
56 
     | 
    
         
             
                  @@profile_header = profile_header # rubocop:disable Style/ClassVars
         
     | 
| 
       48 
57 
     | 
    
         
             
                  @@request_profile_header = nil    # rubocop:disable Style/ClassVars
         
     | 
| 
         @@ -24,21 +24,6 @@ module AppProfiler 
     | 
|
| 
       24 
24 
     | 
    
         
             
                    stop if started
         
     | 
| 
       25 
25 
     | 
    
         
             
                  end
         
     | 
| 
       26 
26 
     | 
    
         | 
| 
       27 
     | 
    
         
            -
                  def results
         
     | 
| 
       28 
     | 
    
         
            -
                    stackprof_profile = stackprof_results
         
     | 
| 
       29 
     | 
    
         
            -
             
     | 
| 
       30 
     | 
    
         
            -
                    return unless stackprof_profile
         
     | 
| 
       31 
     | 
    
         
            -
             
     | 
| 
       32 
     | 
    
         
            -
                    Profile.from_stackprof(stackprof_profile)
         
     | 
| 
       33 
     | 
    
         
            -
                  rescue => error
         
     | 
| 
       34 
     | 
    
         
            -
                    AppProfiler.logger.info(
         
     | 
| 
       35 
     | 
    
         
            -
                      "[Profiler] failed to obtain the profile error_class=#{error.class} error_message=#{error.message}"
         
     | 
| 
       36 
     | 
    
         
            -
                    )
         
     | 
| 
       37 
     | 
    
         
            -
                    nil
         
     | 
| 
       38 
     | 
    
         
            -
                  end
         
     | 
| 
       39 
     | 
    
         
            -
             
     | 
| 
       40 
     | 
    
         
            -
                  private
         
     | 
| 
       41 
     | 
    
         
            -
             
     | 
| 
       42 
27 
     | 
    
         
             
                  def start(params = {})
         
     | 
| 
       43 
28 
     | 
    
         
             
                    # Do not start the profiler if StackProf was started somewhere else.
         
     | 
| 
       44 
29 
     | 
    
         
             
                    return false if running?
         
     | 
| 
         @@ -59,6 +44,21 @@ module AppProfiler 
     | 
|
| 
       59 
44 
     | 
    
         
             
                    StackProf.stop
         
     | 
| 
       60 
45 
     | 
    
         
             
                  end
         
     | 
| 
       61 
46 
     | 
    
         | 
| 
      
 47 
     | 
    
         
            +
                  def results
         
     | 
| 
      
 48 
     | 
    
         
            +
                    stackprof_profile = stackprof_results
         
     | 
| 
      
 49 
     | 
    
         
            +
             
     | 
| 
      
 50 
     | 
    
         
            +
                    return unless stackprof_profile
         
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
      
 52 
     | 
    
         
            +
                    Profile.from_stackprof(stackprof_profile)
         
     | 
| 
      
 53 
     | 
    
         
            +
                  rescue => error
         
     | 
| 
      
 54 
     | 
    
         
            +
                    AppProfiler.logger.info(
         
     | 
| 
      
 55 
     | 
    
         
            +
                      "[Profiler] failed to obtain the profile error_class=#{error.class} error_message=#{error.message}"
         
     | 
| 
      
 56 
     | 
    
         
            +
                    )
         
     | 
| 
      
 57 
     | 
    
         
            +
                    nil
         
     | 
| 
      
 58 
     | 
    
         
            +
                  end
         
     | 
| 
      
 59 
     | 
    
         
            +
             
     | 
| 
      
 60 
     | 
    
         
            +
                  private
         
     | 
| 
      
 61 
     | 
    
         
            +
             
     | 
| 
       62 
62 
     | 
    
         
             
                  def stackprof_results
         
     | 
| 
       63 
63 
     | 
    
         
             
                    StackProf.results
         
     | 
| 
       64 
64 
     | 
    
         
             
                  end
         
     | 
    
        data/lib/app_profiler/version.rb
    CHANGED
    
    
| 
         @@ -14,6 +14,7 @@ module AppProfiler 
     | 
|
| 
       14 
14 
     | 
    
         
             
                  end
         
     | 
| 
       15 
15 
     | 
    
         | 
| 
       16 
16 
     | 
    
         
             
                  def initialize(profile)
         
     | 
| 
      
 17 
     | 
    
         
            +
                    super()
         
     | 
| 
       17 
18 
     | 
    
         
             
                    @profile = profile
         
     | 
| 
       18 
19 
     | 
    
         
             
                  end
         
     | 
| 
       19 
20 
     | 
    
         | 
| 
         @@ -36,7 +37,7 @@ module AppProfiler 
     | 
|
| 
       36 
37 
     | 
    
         
             
                    # We currently only support this gem in the root Gemfile.
         
     | 
| 
       37 
38 
     | 
    
         
             
                    # See https://github.com/Shopify/app_profiler/issues/15
         
     | 
| 
       38 
39 
     | 
    
         
             
                    # for more information
         
     | 
| 
       39 
     | 
    
         
            -
                    yarn("add --dev --ignore-workspace-root-check speedscope")
         
     | 
| 
      
 40 
     | 
    
         
            +
                    yarn("add --dev --ignore-workspace-root-check speedscope") unless speedscope_added?
         
     | 
| 
       40 
41 
     | 
    
         
             
                  end
         
     | 
| 
       41 
42 
     | 
    
         | 
| 
       42 
43 
     | 
    
         
             
                  def ensure_yarn_installed
         
     | 
| 
         @@ -56,6 +57,10 @@ module AppProfiler 
     | 
|
| 
       56 
57 
     | 
    
         
             
                    AppProfiler.root.join("package.json").exist?
         
     | 
| 
       57 
58 
     | 
    
         
             
                  end
         
     | 
| 
       58 
59 
     | 
    
         | 
| 
      
 60 
     | 
    
         
            +
                  def speedscope_added?
         
     | 
| 
      
 61 
     | 
    
         
            +
                    AppProfiler.root.join("node_modules/speedscope").exist?
         
     | 
| 
      
 62 
     | 
    
         
            +
                  end
         
     | 
| 
      
 63 
     | 
    
         
            +
             
     | 
| 
       59 
64 
     | 
    
         
             
                  def exec(command)
         
     | 
| 
       60 
65 
     | 
    
         
             
                    system(command).tap do |return_code|
         
     | 
| 
       61 
66 
     | 
    
         
             
                      yield unless return_code
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: app_profiler
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.0.7
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Gannon McGibbon
         
     | 
| 
         @@ -13,7 +13,7 @@ authors: 
     | 
|
| 
       13 
13 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       14 
14 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       15 
15 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       16 
     | 
    
         
            -
            date:  
     | 
| 
      
 16 
     | 
    
         
            +
            date: 2021-02-19 00:00:00.000000000 Z
         
     | 
| 
       17 
17 
     | 
    
         
             
            dependencies:
         
     | 
| 
       18 
18 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       19 
19 
     | 
    
         
             
              name: activesupport
         
     |