log-analyzer 0.3.0 → 0.4.0
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/README.md +10 -5
- data/lib/log-analyzer/command/log-analyzer.rb +2 -0
- data/lib/log-analyzer/config.rb +3 -2
- data/lib/log-analyzer/log.rb +5 -1
- data/lib/log-analyzer/version.rb +1 -1
- metadata +3 -3
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 866eefaeda010bc822f01b13b9e4d15bf2b7cfbe
         | 
| 4 | 
            +
              data.tar.gz: 5407e578aee2608481dadb66d5e9b4b351d97b4e
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 784514f2e132c8558990f4076d197cfe76a16183e91b7f769a67a264a7746f2139a1fc262a3bc218c8325579ffa1bba6601654116a4f1a9d1160951dc3699ac9
         | 
| 7 | 
            +
              data.tar.gz: f97b7d88c249fd621ce9b50f6191c946d8afbd9138d64373fee8c280935f34dca5055b5f3c45673217a0e742dac4656f574908fa9286416f37d082cd252cad08
         | 
    
        data/README.md
    CHANGED
    
    | @@ -40,6 +40,7 @@ Usage: log-analyzer [options] <file ...> | |
| 40 40 | 
             
                -h, --help                       output usage information
         | 
| 41 41 | 
             
                -V, --version                    output the version number
         | 
| 42 42 | 
             
                -r FILE                          routing format file
         | 
| 43 | 
            +
                -S, --log-separator VALUE        log separator
         | 
| 43 44 | 
             
                -R, --route-regexp VALUE         route regexp
         | 
| 44 45 | 
             
                -L, --log-regexp VALUE           log regexp
         | 
| 45 46 | 
             
            ```
         | 
| @@ -48,11 +49,15 @@ Example: | |
| 48 49 |  | 
| 49 50 | 
             
            ```shell
         | 
| 50 51 | 
             
            $ log-analyzer -r path/to/routes.txt path/to/application.log
         | 
| 51 | 
            -
             | 
| 52 | 
            -
            ┃ method ┃ endpoint | 
| 53 | 
            -
             | 
| 54 | 
            -
            ┃ GET    ┃ / | 
| 55 | 
            -
             | 
| 52 | 
            +
            ┏━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┓
         | 
| 53 | 
            +
            ┃ method ┃ endpoint   ┃ count ┃ response_time(avg) ┃ response_time(max) ┃ response_time(min) ┃
         | 
| 54 | 
            +
            ┣━━━━━━━━╊━━━━━━━━━━━━╊━━━━━━━╊━━━━━━━━━━━━━━━━━━━━╊━━━━━━━━━━━━━━━━━━━━╊━━━━━━━━━━━━━━━━━━━━┫
         | 
| 55 | 
            +
            ┃ GET    ┃ /          ┃ 10    ┃ 20.5               ┃ 55                 ┃ 3                  ┃
         | 
| 56 | 
            +
            ┃ GET    ┃ /users     ┃ 5     ┃ 10.3               ┃ 30                 ┃ 3                  ┃
         | 
| 57 | 
            +
            ┃ GET    ┃ /users/:id ┃ 3     ┃ 10                 ┃ 15                 ┃ 5                  ┃
         | 
| 58 | 
            +
            ┃ POST   ┃ /users     ┃ 2     ┃ 30                 ┃ 40                 ┃ 20                 ┃
         | 
| 59 | 
            +
            ┃ DELETE ┃ /users/:id ┃ 0     ┃                    ┃                    ┃                    ┃
         | 
| 60 | 
            +
            ┗━━━━━━━━┻━━━━━━━━━━━━┻━━━━━━━┻━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━┛
         | 
| 56 61 | 
             
            ```
         | 
| 57 62 |  | 
| 58 63 | 
             
            ## Development
         | 
| @@ -19,6 +19,7 @@ op.on('-V', '--version', 'output the version number') do |v| | |
| 19 19 | 
             
            end
         | 
| 20 20 |  | 
| 21 21 | 
             
            op.on('-r FILE', 'routing format file') { |v| opts[:routing_file] = v }
         | 
| 22 | 
            +
            op.on('-S VALUE', '--log-separator', 'log separator') { |v| opts[:log_separator] = v }
         | 
| 22 23 | 
             
            op.on('-R VALUE', '--route-regexp', 'route regexp') { |v| opts[:route_regexp] = v }
         | 
| 23 24 | 
             
            op.on('-L VALUE', '--log-regexp', 'log regexp') { |v| opts[:log_regexp] = v }
         | 
| 24 25 |  | 
| @@ -30,6 +31,7 @@ else | |
| 30 31 | 
             
              Log::Analyzer.configure do |config|
         | 
| 31 32 | 
             
                config.route_regexp = Regexp.new(opts[:route_regexp]) if opts[:route_regexp]
         | 
| 32 33 | 
             
                config.log_regexp   = Regexp.new(opts[:log_regexp]) if opts[:log_regexp]
         | 
| 34 | 
            +
                config.log_separator = opts[:log_separator] if opts[:log_separator]
         | 
| 33 35 | 
             
              end
         | 
| 34 36 |  | 
| 35 37 | 
             
              Log::Analyzer::CLI.run(ARGV, opts)
         | 
    
        data/lib/log-analyzer/config.rb
    CHANGED
    
    | @@ -1,10 +1,11 @@ | |
| 1 1 | 
             
            module Log::Analyzer
         | 
| 2 2 | 
             
              class Config
         | 
| 3 | 
            -
                attr_accessor :log_regexp, :route_regexp
         | 
| 3 | 
            +
                attr_accessor :log_regexp, :route_regexp, :log_separator
         | 
| 4 4 |  | 
| 5 5 | 
             
                def initialize
         | 
| 6 6 | 
             
                  @route_regexp = /(GET|POST|DELETE|PATCH|PUT)\s+([^\s]*)\s/i
         | 
| 7 | 
            -
                  @log_regexp = /Started (?<request_method>GET|POST|DELETE|PATCH|PUT) "(?<path_info>[^"]+)"/ | 
| 7 | 
            +
                  @log_regexp = /Started (?<request_method>GET|POST|DELETE|PATCH|PUT) "(?<path_info>[^"]+)".*in (?<response_time>[0-9]+)ms/im
         | 
| 8 | 
            +
                  @log_separator = "\n\n\n"
         | 
| 8 9 | 
             
                end
         | 
| 9 10 | 
             
              end
         | 
| 10 11 | 
             
            end
         | 
    
        data/lib/log-analyzer/log.rb
    CHANGED
    
    | @@ -5,7 +5,7 @@ module Log::Analyzer | |
| 5 5 | 
             
                end
         | 
| 6 6 |  | 
| 7 7 | 
             
                def each_line(&block)
         | 
| 8 | 
            -
                  @file.each_line do |line|
         | 
| 8 | 
            +
                  @file.each_line(separator) do |line|
         | 
| 9 9 | 
             
                    next unless md = line.match(regexp)
         | 
| 10 10 | 
             
                    env = md.names.inject({}) do |hash, name|
         | 
| 11 11 | 
             
                            hash[name.upcase] = md[name]
         | 
| @@ -19,5 +19,9 @@ module Log::Analyzer | |
| 19 19 | 
             
                def regexp
         | 
| 20 20 | 
             
                  ::Log::Analyzer.config.log_regexp
         | 
| 21 21 | 
             
                end
         | 
| 22 | 
            +
             | 
| 23 | 
            +
                def separator
         | 
| 24 | 
            +
                  ::Log::Analyzer.config.log_separator
         | 
| 25 | 
            +
                end
         | 
| 22 26 | 
             
              end
         | 
| 23 27 | 
             
            end
         | 
    
        data/lib/log-analyzer/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: log-analyzer
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.4.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - shiro16
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: exe
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2016-01- | 
| 11 | 
            +
            date: 2016-01-06 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: actionpack
         | 
| @@ -175,7 +175,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 175 175 | 
             
                  version: '0'
         | 
| 176 176 | 
             
            requirements: []
         | 
| 177 177 | 
             
            rubyforge_project: 
         | 
| 178 | 
            -
            rubygems_version: 2.4.5
         | 
| 178 | 
            +
            rubygems_version: 2.4.5.1
         | 
| 179 179 | 
             
            signing_key: 
         | 
| 180 180 | 
             
            specification_version: 4
         | 
| 181 181 | 
             
            summary: Analyze the performance of each endpoint from the routing file
         |