Method: Datadog::Core::Telemetry::Emitter#request

Defined in:
lib/datadog/core/telemetry/emitter.rb

#request(event) ⇒ Object

Retrieves and emits a TelemetryRequest object based on the request type specified



24
25
26
27
28
29
30
31
32
33
# File 'lib/datadog/core/telemetry/emitter.rb', line 24

def request(event)
  seq_id = self.class.sequence.next
  payload = Request.build_payload(event, seq_id)
  res = @http_transport.request(request_type: event.type, payload: payload.to_json)
  Datadog.logger.debug { "Telemetry sent for event `#{event.type}` (code: #{res.code.inspect})" }
  res
rescue => e
  Datadog.logger.debug("Unable to send telemetry request for event `#{event.type rescue 'unknown'}`: #{e}")
  Telemetry::Http::InternalErrorResponse.new(e)
end