class ElasticAPM::Transport::Serializers::SpanSerializer::ContextSerializer

@api private

Public Instance Methods

build(context) click to toggle source
# File lib/elastic_apm/transport/serializers/span_serializer.rb, line 37
def build(context)
  return unless context

  { sync: context.sync }.tap do |base|
    base[:db] = build_db(context.db) if context.db
    base[:http] = build_http(context.http) if context.http
  end
end

Private Instance Methods

build_db(db) click to toggle source
# File lib/elastic_apm/transport/serializers/span_serializer.rb, line 48
def build_db(db)
  return unless db

  {
    instance: db.instance,
    statement: Util.truncate(db.statement, max_length: 10_000),
    type: db.type,
    user: db.user
  }
end
build_http(http) click to toggle source
# File lib/elastic_apm/transport/serializers/span_serializer.rb, line 59
def build_http(http)
  return unless http

  {
    url: http.url,
    status_code: http.status_code.to_i,
    method: keyword_field(http.method)
  }
end