class ElasticAPM::Serializers::Errors

def build(error)

rubocop:disable Metrics/MethodLength
def build(error)
  base = {
    id: error.id,
    culprit: error.culprit,
    timestamp: micros_to_time(error.timestamp).utc.iso8601(3),
    context: error.context.to_h
  }
  if (exception = error.exception)
    base[:exception] = build_exception exception
  end
  if (transaction_id = error.transaction_id)
    base[:transaction] = { id: transaction_id }
  end
  base
end