class Sentry::Transport

def fetch_pending_client_report

def fetch_pending_client_report
  return nil unless @send_client_reports
  return nil if @last_client_report_sent > Time.now - CLIENT_REPORT_INTERVAL
  return nil if @discarded_events.empty?
  discarded_events_hash = @discarded_events.map do |key, val|
    reason, type = key
    # 'event' has to be mapped to 'error'
    category = type == 'transaction' ? 'transaction' : 'error'
    { reason: reason, category: category, quantity: val }
  end
  item_header = { type: 'client_report' }
  item_payload = {
    timestamp: Sentry.utc_now.iso8601,
    discarded_events: discarded_events_hash
  }
  @discarded_events = Hash.new(0)
  @last_client_report_sent = Time.now
  [item_header, item_payload]
end