libhoney 1.11.0 → 1.12.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 +1 -3
 - data/example/factorial.rb +31 -37
 - data/lib/libhoney/client.rb +34 -25
 - data/lib/libhoney/event.rb +39 -6
 - data/lib/libhoney/transmission.rb +3 -3
 - data/lib/libhoney/version.rb +1 -1
 - data/libhoney.gemspec +2 -2
 - metadata +9 -10
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: aaff0cc763c16bc795c21403f744d3a5e6773d2503c338d9f161fc1d0ef01341
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: e4f44b656d422207f25441c867519118f1f4557718c0c12e25f198e4871052b5
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 17701619551ad22950ffe421c9a98a4546e00ea8447ee52b22c19d21af9adc342951eed7ee0046c0ca8459d63ffc90ff64cb3759e003971681bb3b567debd9fe
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: c701b48807d76fcef732eaa47e7059ef71cfeaa40693bc039b094968b12407f26d9f6647d3f204a4c2feeed551ca07840c9a1d0850b8ab755eeeb0fdff3675b7
         
     | 
    
        data/README.md
    CHANGED
    
    | 
         @@ -7,9 +7,7 @@ Requires Ruby 2.2 or greater. 
     | 
|
| 
       7 
7 
     | 
    
         
             
            - [Usage and Examples](https://docs.honeycomb.io/sdk/ruby/)
         
     | 
| 
       8 
8 
     | 
    
         
             
            - [API Reference](https://www.rubydoc.info/gems/libhoney)
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
       10 
     | 
    
         
            -
            For tracing support and automatic instrumentation of Sinatra, Rack, ActiveRecord, and other frameworks, check out our [Beeline for Ruby](https://github.com/honeycombio/beeline-ruby).
         
     | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
       12 
     | 
    
         
            -
            For automatic instrumentation of Ruby on Rails, check out our [Rails integration](https://github.com/honeycombio/honeycomb-rails).
         
     | 
| 
      
 10 
     | 
    
         
            +
            For tracing support and automatic instrumentation of Rails, Sinatra, Rack, ActiveRecord, and other frameworks, check out our [Beeline for Ruby](https://github.com/honeycombio/beeline-ruby).
         
     | 
| 
       13 
11 
     | 
    
         | 
| 
       14 
12 
     | 
    
         
             
            ## Contributions
         
     | 
| 
       15 
13 
     | 
    
         | 
    
        data/example/factorial.rb
    CHANGED
    
    | 
         @@ -30,49 +30,43 @@ def run_factorial(low, high, libh_builder) 
     | 
|
| 
       30 
30 
     | 
    
         
             
              end
         
     | 
| 
       31 
31 
     | 
    
         
             
            end
         
     | 
| 
       32 
32 
     | 
    
         | 
| 
       33 
     | 
    
         
            -
            def read_responses(response_queue)
         
     | 
| 
       34 
     | 
    
         
            -
              loop do
         
     | 
| 
       35 
     | 
    
         
            -
                response = response_queue.pop
         
     | 
| 
       36 
     | 
    
         
            -
                break if response.nil?
         
     | 
| 
       37 
     | 
    
         
            -
             
     | 
| 
       38 
     | 
    
         
            -
                puts "Sent: Event with metadata #{response.metadata} in #{response.duration * 1000}ms."
         
     | 
| 
       39 
     | 
    
         
            -
                puts "Got:  Response code #{response.status_code}"
         
     | 
| 
       40 
     | 
    
         
            -
                puts
         
     | 
| 
       41 
     | 
    
         
            -
              end
         
     | 
| 
       42 
     | 
    
         
            -
            end
         
     | 
| 
       43 
     | 
    
         
            -
             
     | 
| 
       44 
33 
     | 
    
         
             
            libhoney = Libhoney::Client.new(writekey: writekey,
         
     | 
| 
       45 
     | 
    
         
            -
                                            dataset: 
     | 
| 
       46 
     | 
    
         
            -
                                            max_concurrent_batches: 1)
         
     | 
| 
       47 
     | 
    
         
            -
             
     | 
| 
       48 
     | 
    
         
            -
            responses = libhoney.responses
         
     | 
| 
      
 34 
     | 
    
         
            +
                                            dataset: dataset)
         
     | 
| 
       49 
35 
     | 
    
         | 
| 
       50 
36 
     | 
    
         
             
            Thread.new do
         
     | 
| 
       51 
37 
     | 
    
         
             
              begin
         
     | 
| 
       52 
     | 
    
         
            -
                 
     | 
| 
       53 
     | 
    
         
            -
             
     | 
| 
       54 
     | 
    
         
            -
             
     | 
| 
       55 
     | 
    
         
            -
             
     | 
| 
       56 
     | 
    
         
            -
             
     | 
| 
       57 
     | 
    
         
            -
             
     | 
| 
       58 
     | 
    
         
            -
             
     | 
| 
       59 
     | 
    
         
            -
             
     | 
| 
       60 
     | 
    
         
            -
                event.add_field('start_time', Time.now.iso8601(3))
         
     | 
| 
       61 
     | 
    
         
            -
                event.with_timer 'run_fact_low_dur_ms' do
         
     | 
| 
       62 
     | 
    
         
            -
                  run_factorial(1, 20, libhoney.builder(range: 'low'))
         
     | 
| 
       63 
     | 
    
         
            -
                end
         
     | 
| 
       64 
     | 
    
         
            -
                event.with_timer 'run_fact_high_dur_ms' do
         
     | 
| 
       65 
     | 
    
         
            -
                  run_factorial(31, 40, libhoney.builder(range: 'high'))
         
     | 
| 
      
 38 
     | 
    
         
            +
                loop do
         
     | 
| 
      
 39 
     | 
    
         
            +
                  response = libhoney.responses.pop
         
     | 
| 
      
 40 
     | 
    
         
            +
                  break if response.nil?
         
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
| 
      
 42 
     | 
    
         
            +
                  puts "Sent: Event with metadata #{response.metadata} in #{response.duration * 1000}ms."
         
     | 
| 
      
 43 
     | 
    
         
            +
                  puts "Got:  Response code #{response.status_code}"
         
     | 
| 
      
 44 
     | 
    
         
            +
                  puts "      #{response.error.class}: #{response.error}" if response.error
         
     | 
| 
      
 45 
     | 
    
         
            +
                  puts
         
     | 
| 
       66 
46 
     | 
    
         
             
                end
         
     | 
| 
       67 
     | 
    
         
            -
                event.add_field('end_time', Time.now.iso8601(3))
         
     | 
| 
       68 
     | 
    
         
            -
                # sends an event with "version", "num_threads", "start_time", "end_time",
         
     | 
| 
       69 
     | 
    
         
            -
                # "run_fact_low_dur_ms", "run_fact_high_dur_ms"
         
     | 
| 
       70 
     | 
    
         
            -
                event.send
         
     | 
| 
       71 
     | 
    
         
            -
             
     | 
| 
       72 
     | 
    
         
            -
                libhoney.close
         
     | 
| 
       73 
47 
     | 
    
         
             
              rescue StandardError => e
         
     | 
| 
       74 
     | 
    
         
            -
                puts e
         
     | 
| 
      
 48 
     | 
    
         
            +
                puts "#{e.class} in response reader thread: #{e}"
         
     | 
| 
       75 
49 
     | 
    
         
             
              end
         
     | 
| 
       76 
50 
     | 
    
         
             
            end
         
     | 
| 
       77 
51 
     | 
    
         | 
| 
       78 
     | 
    
         
            -
             
     | 
| 
      
 52 
     | 
    
         
            +
            # attach fields to top-level instance
         
     | 
| 
      
 53 
     | 
    
         
            +
            libhoney.add_field('version', '3.4.5')
         
     | 
| 
      
 54 
     | 
    
         
            +
             
     | 
| 
      
 55 
     | 
    
         
            +
            a_proc = proc { Thread.list.select { |thread| thread.status == 'run' }.count }
         
     | 
| 
      
 56 
     | 
    
         
            +
            libhoney.add_dynamic_field('num_threads', a_proc)
         
     | 
| 
      
 57 
     | 
    
         
            +
             
     | 
| 
      
 58 
     | 
    
         
            +
            event = libhoney.event
         
     | 
| 
      
 59 
     | 
    
         
            +
            event.metadata = { fn: 'work_thread' }
         
     | 
| 
      
 60 
     | 
    
         
            +
            event.add_field('start_time', Time.now.iso8601(3))
         
     | 
| 
      
 61 
     | 
    
         
            +
            event.with_timer 'run_fact_low_dur_ms' do
         
     | 
| 
      
 62 
     | 
    
         
            +
              run_factorial(1, 20, libhoney.builder(range: 'low'))
         
     | 
| 
      
 63 
     | 
    
         
            +
            end
         
     | 
| 
      
 64 
     | 
    
         
            +
            event.with_timer 'run_fact_high_dur_ms' do
         
     | 
| 
      
 65 
     | 
    
         
            +
              run_factorial(31, 40, libhoney.builder(range: 'high'))
         
     | 
| 
      
 66 
     | 
    
         
            +
            end
         
     | 
| 
      
 67 
     | 
    
         
            +
            event.add_field('end_time', Time.now.iso8601(3))
         
     | 
| 
      
 68 
     | 
    
         
            +
            # sends an event with "version", "num_threads", "start_time", "end_time",
         
     | 
| 
      
 69 
     | 
    
         
            +
            # "run_fact_low_dur_ms", "run_fact_high_dur_ms"
         
     | 
| 
      
 70 
     | 
    
         
            +
            event.send
         
     | 
| 
      
 71 
     | 
    
         
            +
             
     | 
| 
      
 72 
     | 
    
         
            +
            libhoney.close
         
     | 
    
        data/lib/libhoney/client.rb
    CHANGED
    
    | 
         @@ -29,38 +29,47 @@ end 
     | 
|
| 
       29 
29 
     | 
    
         
             
            module Libhoney
         
     | 
| 
       30 
30 
     | 
    
         
             
              ##
         
     | 
| 
       31 
31 
     | 
    
         
             
              # This is a library to allow you to send events to Honeycomb from within your
         
     | 
| 
       32 
     | 
    
         
            -
              #  
     | 
| 
      
 32 
     | 
    
         
            +
              # Ruby application.
         
     | 
| 
       33 
33 
     | 
    
         
             
              #
         
     | 
| 
       34 
     | 
    
         
            -
              #  
     | 
| 
      
 34 
     | 
    
         
            +
              # @example Send a simple event
         
     | 
| 
       35 
35 
     | 
    
         
             
              #   require 'libhoney'
         
     | 
| 
       36 
     | 
    
         
            -
              #   honey = Libhoney.new(writekey, dataset,  
     | 
| 
       37 
     | 
    
         
            -
              # 
     | 
| 
       38 
     | 
    
         
            -
              #    
     | 
| 
       39 
     | 
    
         
            -
              #    
     | 
| 
       40 
     | 
    
         
            -
              #    
     | 
| 
      
 36 
     | 
    
         
            +
              #   honey = Libhoney.new(writekey, dataset, sample_rate)
         
     | 
| 
      
 37 
     | 
    
         
            +
              #
         
     | 
| 
      
 38 
     | 
    
         
            +
              #   evt = honey.event
         
     | 
| 
      
 39 
     | 
    
         
            +
              #   evt.add(pglatency: 100)
         
     | 
| 
      
 40 
     | 
    
         
            +
              #   honey.send(evt)
         
     | 
| 
      
 41 
     | 
    
         
            +
              #
         
     | 
| 
      
 42 
     | 
    
         
            +
              #   # repeat creating and sending events until your program is finished
         
     | 
| 
      
 43 
     | 
    
         
            +
              #
         
     | 
| 
       41 
44 
     | 
    
         
             
              #   honey.close
         
     | 
| 
       42 
45 
     | 
    
         
             
              #
         
     | 
| 
       43 
     | 
    
         
            -
              #  
     | 
| 
       44 
     | 
    
         
            -
              #  
     | 
| 
       45 
     | 
    
         
            -
              # * *dataset* is the dataset to write into (required)
         
     | 
| 
       46 
     | 
    
         
            -
              # * *sample_rate* is how many samples you want to keep.  IE:  1 means you want 1 out of 1 samples kept, or all of them.  10 means you want 1 out of 10 samples kept.  And so on.
         
     | 
| 
       47 
     | 
    
         
            -
              # * *url* is the url to connect to Honeycomb
         
     | 
| 
       48 
     | 
    
         
            -
              # * *num_workers* is the number of threads working on the queue of events you are generating
         
     | 
| 
      
 46 
     | 
    
         
            +
              # @example Override the default timestamp on an event
         
     | 
| 
      
 47 
     | 
    
         
            +
              #   one_hour_ago = Time.now - 3600
         
     | 
| 
       49 
48 
     | 
    
         
             
              #
         
     | 
| 
       50 
     | 
    
         
            -
              #  
     | 
| 
      
 49 
     | 
    
         
            +
              #   evt = libhoney.event
         
     | 
| 
      
 50 
     | 
    
         
            +
              #   evt.add_fields(useful_fields)
         
     | 
| 
      
 51 
     | 
    
         
            +
              #   evt.timestamp = one_hour_ago
         
     | 
| 
      
 52 
     | 
    
         
            +
              #   evt.send
         
     | 
| 
       51 
53 
     | 
    
         
             
              #
         
     | 
| 
       52 
54 
     | 
    
         
             
              class Client
         
     | 
| 
       53 
55 
     | 
    
         
             
                API_HOST = 'https://api.honeycomb.io/'.freeze
         
     | 
| 
       54 
56 
     | 
    
         | 
| 
       55 
57 
     | 
    
         
             
                # Instantiates libhoney and prepares it to send events to Honeycomb.
         
     | 
| 
       56 
58 
     | 
    
         
             
                #
         
     | 
| 
       57 
     | 
    
         
            -
                # @param writekey [String] the  
     | 
| 
       58 
     | 
    
         
            -
                #  
     | 
| 
       59 
     | 
    
         
            -
                # @param  
     | 
| 
       60 
     | 
    
         
            -
                # @param  
     | 
| 
      
 59 
     | 
    
         
            +
                # @param writekey [String] the Honeycomb API key with which to authenticate
         
     | 
| 
      
 60 
     | 
    
         
            +
                #   this request (required)
         
     | 
| 
      
 61 
     | 
    
         
            +
                # @param dataset [String] the Honeycomb dataset into which to send events (required)
         
     | 
| 
      
 62 
     | 
    
         
            +
                # @param sample_rate [Fixnum] cause +libhoney+ to send 1 out of +sample_rate+ events.
         
     | 
| 
      
 63 
     | 
    
         
            +
                #   overrides the libhoney instance's value.  (e.g. setting this to +10+ will result in
         
     | 
| 
      
 64 
     | 
    
         
            +
                #   a 1-in-10 chance of it being successfully emitted to Honeycomb, and the
         
     | 
| 
      
 65 
     | 
    
         
            +
                #   Honeycomb query engine will interpret it as representative of 10 events)
         
     | 
| 
      
 66 
     | 
    
         
            +
                # @param api_host [String] defaults to +API_HOST+, override to change the
         
     | 
| 
      
 67 
     | 
    
         
            +
                #   destination for these Honeycomb events.
         
     | 
| 
       61 
68 
     | 
    
         
             
                # @param transmission [Object] transport used to actually send events. If nil (the default), will be lazily initialized with a {TransmissionClient} on first event send.
         
     | 
| 
       62 
69 
     | 
    
         
             
                # @param block_on_send [Boolean] if more than pending_work_capacity events are written, block sending further events
         
     | 
| 
       63 
70 
     | 
    
         
             
                # @param block_on_responses [Boolean] if true, block if there is no thread reading from the response queue
         
     | 
| 
      
 71 
     | 
    
         
            +
                # @param pending_work_capacity [Fixnum] defaults to 1000. If the queue of
         
     | 
| 
      
 72 
     | 
    
         
            +
                #   pending events exceeds 1000, this client will start dropping events.
         
     | 
| 
       64 
73 
     | 
    
         
             
                def initialize(writekey: nil,
         
     | 
| 
       65 
74 
     | 
    
         
             
                               dataset: nil,
         
     | 
| 
       66 
75 
     | 
    
         
             
                               sample_rate: 1,
         
     | 
| 
         @@ -205,14 +214,14 @@ module Libhoney 
     | 
|
| 
       205 
214 
     | 
    
         
             
                def send_event(event)
         
     | 
| 
       206 
215 
     | 
    
         
             
                  @lock.synchronize do
         
     | 
| 
       207 
216 
     | 
    
         
             
                    transmission_client_params = {
         
     | 
| 
       208 
     | 
    
         
            -
                      max_batch_size: 
     | 
| 
       209 
     | 
    
         
            -
                      send_frequency: 
     | 
| 
      
 217 
     | 
    
         
            +
                      max_batch_size: @max_batch_size,
         
     | 
| 
      
 218 
     | 
    
         
            +
                      send_frequency: @send_frequency,
         
     | 
| 
       210 
219 
     | 
    
         
             
                      max_concurrent_batches: @max_concurrent_batches,
         
     | 
| 
       211 
     | 
    
         
            -
                      pending_work_capacity: 
     | 
| 
       212 
     | 
    
         
            -
                      responses: 
     | 
| 
       213 
     | 
    
         
            -
                      block_on_send: 
     | 
| 
       214 
     | 
    
         
            -
                      block_on_responses: 
     | 
| 
       215 
     | 
    
         
            -
                      user_agent_addition: 
     | 
| 
      
 220 
     | 
    
         
            +
                      pending_work_capacity: @pending_work_capacity,
         
     | 
| 
      
 221 
     | 
    
         
            +
                      responses: @responses,
         
     | 
| 
      
 222 
     | 
    
         
            +
                      block_on_send: @block_on_send,
         
     | 
| 
      
 223 
     | 
    
         
            +
                      block_on_responses: @block_on_responses,
         
     | 
| 
      
 224 
     | 
    
         
            +
                      user_agent_addition: @user_agent_addition
         
     | 
| 
       216 
225 
     | 
    
         
             
                    }
         
     | 
| 
       217 
226 
     | 
    
         | 
| 
       218 
227 
     | 
    
         
             
                    @transmission ||= TransmissionClient.new(transmission_client_params)
         
     | 
    
        data/lib/libhoney/event.rb
    CHANGED
    
    | 
         @@ -1,11 +1,44 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            module Libhoney
         
     | 
| 
       2 
     | 
    
         
            -
              ##
         
     | 
| 
       3 
2 
     | 
    
         
             
              # This is the event object that you can fill up with data.
         
     | 
| 
      
 3 
     | 
    
         
            +
              #
         
     | 
| 
      
 4 
     | 
    
         
            +
              # @example Override the default timestamp on an event
         
     | 
| 
      
 5 
     | 
    
         
            +
              #   evt = libhoney.event
         
     | 
| 
      
 6 
     | 
    
         
            +
              #   evt.add_fields(useful_fields)
         
     | 
| 
      
 7 
     | 
    
         
            +
              #   evt.timestamp = Time.now
         
     | 
| 
      
 8 
     | 
    
         
            +
              #   evt.send
         
     | 
| 
      
 9 
     | 
    
         
            +
              #
         
     | 
| 
       4 
10 
     | 
    
         
             
              class Event
         
     | 
| 
       5 
     | 
    
         
            -
                 
     | 
| 
       6 
     | 
    
         
            -
                 
     | 
| 
      
 11 
     | 
    
         
            +
                # @return [String] the Honeycomb API key with which to authenticate this
         
     | 
| 
      
 12 
     | 
    
         
            +
                #   request
         
     | 
| 
      
 13 
     | 
    
         
            +
                attr_accessor :writekey
         
     | 
| 
       7 
14 
     | 
    
         | 
| 
       8 
     | 
    
         
            -
                # @return [ 
     | 
| 
      
 15 
     | 
    
         
            +
                # @return [String] the Honeycomb dataset this event is destined for
         
     | 
| 
      
 16 
     | 
    
         
            +
                #   (defaults to the +Builder+'s +dataset+, which in turn defaults to the
         
     | 
| 
      
 17 
     | 
    
         
            +
                #   +Client+'s +dataset+)
         
     | 
| 
      
 18 
     | 
    
         
            +
                attr_accessor :dataset
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
                # @return [Fixnum] Set this attribute to indicate that it represents
         
     | 
| 
      
 21 
     | 
    
         
            +
                #   +sample_rate+ number of events (e.g. setting this to +10+ will result in
         
     | 
| 
      
 22 
     | 
    
         
            +
                #   a 1-in-10 chance of it being successfully emitted to Honeycomb, and the
         
     | 
| 
      
 23 
     | 
    
         
            +
                #   Honeycomb query engine will interpret it as representative of 10 events)
         
     | 
| 
      
 24 
     | 
    
         
            +
                attr_accessor :sample_rate
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
                # @return [String] Set this attribute in order to override the destination
         
     | 
| 
      
 27 
     | 
    
         
            +
                #   of these Honeycomb events (defaults to +Client::API_HOST+).
         
     | 
| 
      
 28 
     | 
    
         
            +
                attr_accessor :api_host
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
                # @return [Object] Set this attribute to any +Object+ you might need to
         
     | 
| 
      
 31 
     | 
    
         
            +
                #   identify this Event as it is returned to the responses queue (e.g. tag
         
     | 
| 
      
 32 
     | 
    
         
            +
                #   an Event with an internal ID in order to retry something specific on
         
     | 
| 
      
 33 
     | 
    
         
            +
                #   failure).
         
     | 
| 
      
 34 
     | 
    
         
            +
                attr_accessor :metadata
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
      
 36 
     | 
    
         
            +
                # @return [Time] Set this attribute in order to override the timestamp
         
     | 
| 
      
 37 
     | 
    
         
            +
                #   associated with the event (defaults to the +Time.now+ at +Event+
         
     | 
| 
      
 38 
     | 
    
         
            +
                #   creation)
         
     | 
| 
      
 39 
     | 
    
         
            +
                attr_accessor :timestamp
         
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
      
 41 
     | 
    
         
            +
                # @return [Hash<String=>any>] the fields added to this event
         
     | 
| 
       9 
42 
     | 
    
         
             
                attr_reader :data
         
     | 
| 
       10 
43 
     | 
    
         | 
| 
       11 
44 
     | 
    
         
             
                # @api private
         
     | 
| 
         @@ -71,7 +104,7 @@ module Libhoney 
     | 
|
| 
       71 
104 
     | 
    
         
             
                  self
         
     | 
| 
       72 
105 
     | 
    
         
             
                end
         
     | 
| 
       73 
106 
     | 
    
         | 
| 
       74 
     | 
    
         
            -
                # sends this event to  
     | 
| 
      
 107 
     | 
    
         
            +
                # sends this event to Honeycomb
         
     | 
| 
       75 
108 
     | 
    
         
             
                #
         
     | 
| 
       76 
109 
     | 
    
         
             
                # @return [self] this event.
         
     | 
| 
       77 
110 
     | 
    
         
             
                def send
         
     | 
| 
         @@ -84,7 +117,7 @@ module Libhoney 
     | 
|
| 
       84 
117 
     | 
    
         
             
                  send_presampled
         
     | 
| 
       85 
118 
     | 
    
         
             
                end
         
     | 
| 
       86 
119 
     | 
    
         | 
| 
       87 
     | 
    
         
            -
                # sends a presampled event to  
     | 
| 
      
 120 
     | 
    
         
            +
                # sends a presampled event to Honeycomb
         
     | 
| 
       88 
121 
     | 
    
         
             
                #
         
     | 
| 
       89 
122 
     | 
    
         
             
                # @return [self] this event.
         
     | 
| 
       90 
123 
     | 
    
         
             
                def send_presampled
         
     | 
| 
         @@ -48,7 +48,7 @@ module Libhoney 
     | 
|
| 
       48 
48 
     | 
    
         
             
                    h[api_host] = HTTP.timeout(connect: @send_timeout, write: @send_timeout, read: @send_timeout)
         
     | 
| 
       49 
49 
     | 
    
         
             
                                      .persistent(api_host)
         
     | 
| 
       50 
50 
     | 
    
         
             
                                      .headers(
         
     | 
| 
       51 
     | 
    
         
            -
                                        'User-Agent' 
     | 
| 
      
 51 
     | 
    
         
            +
                                        'User-Agent' => @user_agent,
         
     | 
| 
       52 
52 
     | 
    
         
             
                                        'Content-Type' => 'application/json'
         
     | 
| 
       53 
53 
     | 
    
         
             
                                      )
         
     | 
| 
       54 
54 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -67,9 +67,9 @@ module Libhoney 
     | 
|
| 
       67 
67 
     | 
    
         
             
                      resp = http.post(url,
         
     | 
| 
       68 
68 
     | 
    
         
             
                                       json: event.data,
         
     | 
| 
       69 
69 
     | 
    
         
             
                                       headers: {
         
     | 
| 
       70 
     | 
    
         
            -
                                         'X-Honeycomb-Team' 
     | 
| 
      
 70 
     | 
    
         
            +
                                         'X-Honeycomb-Team' => event.writekey,
         
     | 
| 
       71 
71 
     | 
    
         
             
                                         'X-Honeycomb-SampleRate' => event.sample_rate,
         
     | 
| 
       72 
     | 
    
         
            -
                                         'X-Event-Time' 
     | 
| 
      
 72 
     | 
    
         
            +
                                         'X-Event-Time' => event.timestamp.iso8601(3)
         
     | 
| 
       73 
73 
     | 
    
         
             
                                       })
         
     | 
| 
       74 
74 
     | 
    
         | 
| 
       75 
75 
     | 
    
         
             
                      # "You must consume response before sending next request via persistent connection"
         
     | 
    
        data/lib/libhoney/version.rb
    CHANGED
    
    
    
        data/libhoney.gemspec
    CHANGED
    
    | 
         @@ -23,7 +23,7 @@ Gem::Specification.new do |spec| 
     | 
|
| 
       23 
23 
     | 
    
         
             
              spec.required_ruby_version = '>= 2.2.0'
         
     | 
| 
       24 
24 
     | 
    
         | 
| 
       25 
25 
     | 
    
         
             
              spec.add_development_dependency 'bump', '~> 0.5'
         
     | 
| 
       26 
     | 
    
         
            -
              spec.add_development_dependency 'bundler' 
     | 
| 
      
 26 
     | 
    
         
            +
              spec.add_development_dependency 'bundler'
         
     | 
| 
       27 
27 
     | 
    
         
             
              spec.add_development_dependency 'minitest', '~> 5.0'
         
     | 
| 
       28 
28 
     | 
    
         
             
              spec.add_development_dependency 'rake', '~> 12.3'
         
     | 
| 
       29 
29 
     | 
    
         
             
              spec.add_development_dependency 'rubocop'
         
     | 
| 
         @@ -31,5 +31,5 @@ Gem::Specification.new do |spec| 
     | 
|
| 
       31 
31 
     | 
    
         
             
              spec.add_development_dependency 'yard'
         
     | 
| 
       32 
32 
     | 
    
         
             
              spec.add_development_dependency 'yardstick', '~> 0.9'
         
     | 
| 
       33 
33 
     | 
    
         
             
              spec.add_dependency 'addressable', '~> 2.0'
         
     | 
| 
       34 
     | 
    
         
            -
              spec.add_dependency 'http', '>= 2.0', '<  
     | 
| 
      
 34 
     | 
    
         
            +
              spec.add_dependency 'http', '>= 2.0', '< 5.0'
         
     | 
| 
       35 
35 
     | 
    
         
             
            end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: libhoney
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 1. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 1.12.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - The Honeycomb.io Team
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: exe
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date:  
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2019-02-27 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: bump
         
     | 
| 
         @@ -28,16 +28,16 @@ dependencies: 
     | 
|
| 
       28 
28 
     | 
    
         
             
              name: bundler
         
     | 
| 
       29 
29 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       30 
30 
     | 
    
         
             
                requirements:
         
     | 
| 
       31 
     | 
    
         
            -
                - - " 
     | 
| 
      
 31 
     | 
    
         
            +
                - - ">="
         
     | 
| 
       32 
32 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       33 
     | 
    
         
            -
                    version: ' 
     | 
| 
      
 33 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
       34 
34 
     | 
    
         
             
              type: :development
         
     | 
| 
       35 
35 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       36 
36 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       37 
37 
     | 
    
         
             
                requirements:
         
     | 
| 
       38 
     | 
    
         
            -
                - - " 
     | 
| 
      
 38 
     | 
    
         
            +
                - - ">="
         
     | 
| 
       39 
39 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       40 
     | 
    
         
            -
                    version: ' 
     | 
| 
      
 40 
     | 
    
         
            +
                    version: '0'
         
     | 
| 
       41 
41 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       42 
42 
     | 
    
         
             
              name: minitest
         
     | 
| 
       43 
43 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -145,7 +145,7 @@ dependencies: 
     | 
|
| 
       145 
145 
     | 
    
         
             
                    version: '2.0'
         
     | 
| 
       146 
146 
     | 
    
         
             
                - - "<"
         
     | 
| 
       147 
147 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       148 
     | 
    
         
            -
                    version: ' 
     | 
| 
      
 148 
     | 
    
         
            +
                    version: '5.0'
         
     | 
| 
       149 
149 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       150 
150 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       151 
151 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -155,7 +155,7 @@ dependencies: 
     | 
|
| 
       155 
155 
     | 
    
         
             
                    version: '2.0'
         
     | 
| 
       156 
156 
     | 
    
         
             
                - - "<"
         
     | 
| 
       157 
157 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       158 
     | 
    
         
            -
                    version: ' 
     | 
| 
      
 158 
     | 
    
         
            +
                    version: '5.0'
         
     | 
| 
       159 
159 
     | 
    
         
             
            description: Ruby gem for sending data to Honeycomb
         
     | 
| 
       160 
160 
     | 
    
         
             
            email: support@honeycomb.io
         
     | 
| 
       161 
161 
     | 
    
         
             
            executables: []
         
     | 
| 
         @@ -206,8 +206,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       206 
206 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       207 
207 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       208 
208 
     | 
    
         
             
            requirements: []
         
     | 
| 
       209 
     | 
    
         
            -
             
     | 
| 
       210 
     | 
    
         
            -
            rubygems_version: 2.7.7
         
     | 
| 
      
 209 
     | 
    
         
            +
            rubygems_version: 3.0.2
         
     | 
| 
       211 
210 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       212 
211 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       213 
212 
     | 
    
         
             
            summary: send data to Honeycomb
         
     |