Class: Datadog::Profiling::Transport::HTTP::Client

Inherits:
Transport::HTTP::Client show all
Includes:
Client
Defined in:
lib/ddtrace/profiling/transport/http/client.rb

Overview

Routes, encodes, and sends tracer data to the trace agent via HTTP.

Instance Attribute Summary

Attributes inherited from Transport::HTTP::Client

#api

Instance Method Summary collapse

Methods inherited from Transport::HTTP::Client

#build_env, #initialize, #send_request

Methods included from Transport::HTTP::Statistics

included

Constructor Details

This class inherits a constructor from Datadog::Transport::HTTP::Client

Instance Method Details

#send_payload(request) ⇒ Object



25
26
27
28
29
# File 'lib/ddtrace/profiling/transport/http/client.rb', line 25

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

#send_profiling_flush(flush) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
# File 'lib/ddtrace/profiling/transport/http/client.rb', line 13

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