Sha256: 62e7ff1554a7e1eb109991a6bd671dfce1e96ae4a44513a22e9a7d10ab2c2d00

Contents?: true

Size: 610 Bytes

Versions: 1

Compression:

Stored size: 610 Bytes

Contents

module HeimdallApm
  class Reporting
    def initialize(context)
      @context = context
    end

    # TODO: make this configurable
    def influx
      @client ||= InfluxDB::Client.new("#{Rails.env}_metrics", time_precision: 'ms', retry: 0)
    end

    def call
      span = @context.vault.retrieve_and_delete_previous_span
      if span && !span.points_collection.empty?
        influx.write_points(span.points_collection.to_a)
      else
        @context.logger.debug "Nothing to report"
      end
    rescue => e
      @context.logger.error "#{e.message} during reporting to InfluxDB"
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
heimdall_apm-0.1.3 lib/heimdall_apm/reporting.rb