riemann-tools 1.7.1 → 1.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/CHANGELOG.md +18 -1
 - data/lib/riemann/tools/riemann_client_wrapper.rb +53 -24
 - data/lib/riemann/tools/uptime_parser.tab.rb +1 -1
 - data/lib/riemann/tools/version.rb +1 -1
 - data/lib/riemann/tools.rb +1 -1
 - data/riemann-tools.gemspec +1 -1
 - metadata +8 -8
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: fa9747ae11420451d621eac1f337dc543d3ee395cfde545ca1b819070ad0caef
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: f7d3b2a6493bcf478778a517f57a46179659e6c8b49bbe73c2769a82de3dbf8d
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 70855a5ff26bf7f02a35f80a86348ba3401db6576c6e7b97fa900c5ae134c6d4f4d066a1a6455c83a268442fb38b4a6ed36fae70d1aad3f759db9de97e1aa8fd
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: f9658262416652b5844b2f9b25d507e200da60b28ec50d6b8d56c1889b820e0c97457b79faf8feb19eaf7f40f8edb23ebc29676f49a078a478b1e78cc943c6a0
         
     | 
    
        data/CHANGELOG.md
    CHANGED
    
    | 
         @@ -1,5 +1,22 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # Changelog
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
      
 3 
     | 
    
         
            +
            ## [v1.8.1](https://github.com/riemann/riemann-tools/tree/v1.8.1) (2023-02-27)
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            [Full Changelog](https://github.com/riemann/riemann-tools/compare/v1.8.0...v1.8.1)
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            **Fixed bugs:**
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            - Improve event sending thread lifecycle management [\#265](https://github.com/riemann/riemann-tools/pull/265) ([smortex](https://github.com/smortex))
         
     | 
| 
      
 10 
     | 
    
         
            +
            - Make sure all events are send before terminating [\#264](https://github.com/riemann/riemann-tools/pull/264) ([smortex](https://github.com/smortex))
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
            ## [v1.8.0](https://github.com/riemann/riemann-tools/tree/v1.8.0) (2023-02-02)
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
            [Full Changelog](https://github.com/riemann/riemann-tools/compare/v1.7.1...v1.8.0)
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
            **Implemented enhancements:**
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
            - Send events in bulk when they are stacking [\#261](https://github.com/riemann/riemann-tools/pull/261) ([smortex](https://github.com/smortex))
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
       3 
20 
     | 
    
         
             
            ## [v1.7.1](https://github.com/riemann/riemann-tools/tree/v1.7.1) (2023-01-12)
         
     | 
| 
       4 
21 
     | 
    
         | 
| 
       5 
22 
     | 
    
         
             
            [Full Changelog](https://github.com/riemann/riemann-tools/compare/v1.7.0...v1.7.1)
         
     | 
| 
         @@ -378,7 +395,7 @@ 
     | 
|
| 
       378 
395 
     | 
    
         | 
| 
       379 
396 
     | 
    
         
             
            **Merged pull requests:**
         
     | 
| 
       380 
397 
     | 
    
         | 
| 
       381 
     | 
    
         
            -
            - Update FreeBSD load average for 1 min [\#79](https://github.com/riemann/riemann-tools/pull/79) ([ 
     | 
| 
      
 398 
     | 
    
         
            +
            - Update FreeBSD load average for 1 min [\#79](https://github.com/riemann/riemann-tools/pull/79) ([zachfi](https://github.com/zachfi))
         
     | 
| 
       382 
399 
     | 
    
         
             
            - Added riemann-varnish collector script [\#77](https://github.com/riemann/riemann-tools/pull/77) ([pradeepchhetri](https://github.com/pradeepchhetri))
         
     | 
| 
       383 
400 
     | 
    
         
             
            - allow dashes in diskstats volume names to support lvm volumes like "dm-0" [\#75](https://github.com/riemann/riemann-tools/pull/75) ([cmerrick](https://github.com/cmerrick))
         
     | 
| 
       384 
401 
     | 
    
         
             
            - rieman-tools aws billing [\#74](https://github.com/riemann/riemann-tools/pull/74) ([jespada](https://github.com/jespada))
         
     | 
| 
         @@ -7,36 +7,65 @@ require 'riemann/client' 
     | 
|
| 
       7 
7 
     | 
    
         
             
            module Riemann
         
     | 
| 
       8 
8 
     | 
    
         
             
              module Tools
         
     | 
| 
       9 
9 
     | 
    
         
             
                class RiemannClientWrapper
         
     | 
| 
       10 
     | 
    
         
            -
                   
     | 
| 
      
 10 
     | 
    
         
            +
                  attr_reader :options
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
       12 
     | 
    
         
            -
                  def initialize
         
     | 
| 
       13 
     | 
    
         
            -
                    @ 
     | 
| 
      
 12 
     | 
    
         
            +
                  def initialize(options)
         
     | 
| 
      
 13 
     | 
    
         
            +
                    @options = options
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
                    @queue = Queue.new
         
     | 
| 
      
 16 
     | 
    
         
            +
                    @max_bulk_size = 1000
         
     | 
| 
      
 17 
     | 
    
         
            +
                    @draining = false
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
                    @worker = Thread.new do
         
     | 
| 
      
 20 
     | 
    
         
            +
                      Thread.current.abort_on_exception = true
         
     | 
| 
      
 21 
     | 
    
         
            +
                      loop do
         
     | 
| 
      
 22 
     | 
    
         
            +
                        events = []
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
                        events << @queue.pop
         
     | 
| 
      
 25 
     | 
    
         
            +
                        events << @queue.pop while !@queue.empty? && events.size < @max_bulk_size
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
                        client.bulk_send(events)
         
     | 
| 
      
 28 
     | 
    
         
            +
                      rescue Riemann::Client::Error => e
         
     | 
| 
      
 29 
     | 
    
         
            +
                        warn "Dropping #{events.size} event#{'s' if events.size > 1} due to #{e}"
         
     | 
| 
      
 30 
     | 
    
         
            +
                      rescue StandardError => e
         
     | 
| 
      
 31 
     | 
    
         
            +
                        warn "#{e.class} #{e}\n#{e.backtrace.join "\n"}"
         
     | 
| 
      
 32 
     | 
    
         
            +
                        Thread.main.terminate
         
     | 
| 
      
 33 
     | 
    
         
            +
                      end
         
     | 
| 
      
 34 
     | 
    
         
            +
                    end
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
      
 36 
     | 
    
         
            +
                    at_exit { drain }
         
     | 
| 
       14 
37 
     | 
    
         
             
                  end
         
     | 
| 
       15 
38 
     | 
    
         | 
| 
       16 
     | 
    
         
            -
                  def  
     | 
| 
       17 
     | 
    
         
            -
                     
     | 
| 
       18 
     | 
    
         
            -
             
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
       21 
     | 
    
         
            -
             
     | 
| 
       22 
     | 
    
         
            -
             
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
             
     | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
       27 
     | 
    
         
            -
                       
     | 
| 
       28 
     | 
    
         
            -
             
     | 
| 
       29 
     | 
    
         
            -
             
     | 
| 
       30 
     | 
    
         
            -
             
     | 
| 
       31 
     | 
    
         
            -
             
     | 
| 
       32 
     | 
    
         
            -
             
     | 
| 
       33 
     | 
    
         
            -
             
     | 
| 
       34 
     | 
    
         
            -
             
     | 
| 
       35 
     | 
    
         
            -
                    self
         
     | 
| 
      
 39 
     | 
    
         
            +
                  def client
         
     | 
| 
      
 40 
     | 
    
         
            +
                    @client ||= begin
         
     | 
| 
      
 41 
     | 
    
         
            +
                      r = Riemann::Client.new(
         
     | 
| 
      
 42 
     | 
    
         
            +
                        host: options[:host],
         
     | 
| 
      
 43 
     | 
    
         
            +
                        port: options[:port],
         
     | 
| 
      
 44 
     | 
    
         
            +
                        timeout: options[:timeout],
         
     | 
| 
      
 45 
     | 
    
         
            +
                        ssl: options[:tls],
         
     | 
| 
      
 46 
     | 
    
         
            +
                        key_file: options[:tls_key],
         
     | 
| 
      
 47 
     | 
    
         
            +
                        cert_file: options[:tls_cert],
         
     | 
| 
      
 48 
     | 
    
         
            +
                        ca_file: options[:tls_ca_cert],
         
     | 
| 
      
 49 
     | 
    
         
            +
                        ssl_verify: options[:tls_verify],
         
     | 
| 
      
 50 
     | 
    
         
            +
                      )
         
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
      
 52 
     | 
    
         
            +
                      if options[:tcp] || options[:tls]
         
     | 
| 
      
 53 
     | 
    
         
            +
                        r.tcp
         
     | 
| 
      
 54 
     | 
    
         
            +
                      else
         
     | 
| 
      
 55 
     | 
    
         
            +
                        r
         
     | 
| 
      
 56 
     | 
    
         
            +
                      end
         
     | 
| 
      
 57 
     | 
    
         
            +
                    end
         
     | 
| 
       36 
58 
     | 
    
         
             
                  end
         
     | 
| 
       37 
59 
     | 
    
         | 
| 
       38 
60 
     | 
    
         
             
                  def <<(event)
         
     | 
| 
       39 
     | 
    
         
            -
                     
     | 
| 
      
 61 
     | 
    
         
            +
                    raise('Cannot queue events when draining') if @draining
         
     | 
| 
      
 62 
     | 
    
         
            +
             
     | 
| 
      
 63 
     | 
    
         
            +
                    @queue << event
         
     | 
| 
      
 64 
     | 
    
         
            +
                  end
         
     | 
| 
      
 65 
     | 
    
         
            +
             
     | 
| 
      
 66 
     | 
    
         
            +
                  def drain
         
     | 
| 
      
 67 
     | 
    
         
            +
                    @draining = true
         
     | 
| 
      
 68 
     | 
    
         
            +
                    sleep(1) until @queue.empty? || @worker.stop?
         
     | 
| 
       40 
69 
     | 
    
         
             
                  end
         
     | 
| 
       41 
70 
     | 
    
         
             
                end
         
     | 
| 
       42 
71 
     | 
    
         
             
              end
         
     | 
    
        data/lib/riemann/tools.rb
    CHANGED
    
    
    
        data/riemann-tools.gemspec
    CHANGED
    
    | 
         @@ -39,7 +39,7 @@ Gem::Specification.new do |spec| 
     | 
|
| 
       39 
39 
     | 
    
         | 
| 
       40 
40 
     | 
    
         
             
              spec.add_runtime_dependency 'json', '>= 1.8'
         
     | 
| 
       41 
41 
     | 
    
         
             
              spec.add_runtime_dependency 'optimist', '~> 3.0', '>= 3.0.0'
         
     | 
| 
       42 
     | 
    
         
            -
              spec.add_runtime_dependency 'riemann-client', '~> 1. 
     | 
| 
      
 42 
     | 
    
         
            +
              spec.add_runtime_dependency 'riemann-client', '~> 1.1'
         
     | 
| 
       43 
43 
     | 
    
         | 
| 
       44 
44 
     | 
    
         
             
              spec.add_development_dependency 'github_changelog_generator'
         
     | 
| 
       45 
45 
     | 
    
         
             
              spec.add_development_dependency 'racc'
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: riemann-tools
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 1. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 1.8.1
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Kyle Kingsbury
         
     | 
| 
       8 
     | 
    
         
            -
            autorequire: 
     | 
| 
      
 8 
     | 
    
         
            +
            autorequire:
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2023- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2023-02-28 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: json
         
     | 
| 
         @@ -50,14 +50,14 @@ dependencies: 
     | 
|
| 
       50 
50 
     | 
    
         
             
                requirements:
         
     | 
| 
       51 
51 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       52 
52 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       53 
     | 
    
         
            -
                    version: '1. 
     | 
| 
      
 53 
     | 
    
         
            +
                    version: '1.1'
         
     | 
| 
       54 
54 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       55 
55 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       56 
56 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       57 
57 
     | 
    
         
             
                requirements:
         
     | 
| 
       58 
58 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       59 
59 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       60 
     | 
    
         
            -
                    version: '1. 
     | 
| 
      
 60 
     | 
    
         
            +
                    version: '1.1'
         
     | 
| 
       61 
61 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       62 
62 
     | 
    
         
             
              name: github_changelog_generator
         
     | 
| 
       63 
63 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -352,7 +352,7 @@ metadata: 
     | 
|
| 
       352 
352 
     | 
    
         
             
              homepage_uri: https://github.com/aphyr/riemann-tools
         
     | 
| 
       353 
353 
     | 
    
         
             
              source_code_uri: https://github.com/aphyr/riemann-tools
         
     | 
| 
       354 
354 
     | 
    
         
             
              changelog_uri: https://github.com/aphyr/riemann-tools
         
     | 
| 
       355 
     | 
    
         
            -
            post_install_message: 
     | 
| 
      
 355 
     | 
    
         
            +
            post_install_message:
         
     | 
| 
       356 
356 
     | 
    
         
             
            rdoc_options: []
         
     | 
| 
       357 
357 
     | 
    
         
             
            require_paths:
         
     | 
| 
       358 
358 
     | 
    
         
             
            - lib
         
     | 
| 
         @@ -367,8 +367,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       367 
367 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       368 
368 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       369 
369 
     | 
    
         
             
            requirements: []
         
     | 
| 
       370 
     | 
    
         
            -
            rubygems_version: 3. 
     | 
| 
       371 
     | 
    
         
            -
            signing_key: 
     | 
| 
      
 370 
     | 
    
         
            +
            rubygems_version: 3.4.5
         
     | 
| 
      
 371 
     | 
    
         
            +
            signing_key:
         
     | 
| 
       372 
372 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       373 
373 
     | 
    
         
             
            summary: Utilities which submit events to Riemann.
         
     | 
| 
       374 
374 
     | 
    
         
             
            test_files: []
         
     |