Sha256: 77587f677419f9b295bcc91bacf122706758a010d2236692b1fa208e2ca891af

Contents?: true

Size: 988 Bytes

Versions: 5

Compression:

Stored size: 988 Bytes

Contents

require 'ddtrace/transport/http/client'
require 'ddtrace/profiling/transport/client'

module Datadog
  module Profiling
    module Transport
      module HTTP
        # Routes, encodes, and sends tracer data to the trace agent via HTTP.
        class Client < Datadog::Transport::HTTP::Client
          include Transport::Client

          def send_profiling_flush(flush)
            # Build a request
            request = Profiling::Transport::Request.new(flush)
            send_payload(request).tap do |response|
              if response.ok?
                Datadog.logger.debug('Successfully reported profiling data')
              else
                Datadog.logger.debug { "Failed to report profiling data -- #{response.inspect}" }
              end
            end
          end

          def send_payload(request)
            send_request(request) do |api, env|
              api.send_profiling_flush(env)
            end
          end
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
ddtrace-0.51.1 lib/ddtrace/profiling/transport/http/client.rb
ddtrace-0.51.0 lib/ddtrace/profiling/transport/http/client.rb
ddtrace-0.50.0 lib/ddtrace/profiling/transport/http/client.rb
ddtrace-0.49.0 lib/ddtrace/profiling/transport/http/client.rb
ddtrace-0.48.0 lib/ddtrace/profiling/transport/http/client.rb