class ElasticAPM::Transport::Serializers::TransactionSerializer

@api private

Public Instance Methods

build(transaction) click to toggle source
# File lib/elastic_apm/transport/serializers/transaction_serializer.rb, line 29
def build(transaction)
  {
    transaction: {
      id: transaction.id,
      trace_id: transaction.trace_id,
      parent_id: transaction.parent_id,
      name: keyword_field(transaction.name),
      type: keyword_field(transaction.type),
      result: keyword_field(transaction.result.to_s),
      outcome: keyword_field(transaction.outcome),
      duration: ms(transaction.duration),
      timestamp: transaction.timestamp,
      sampled: transaction.sampled?,
      sample_rate: transaction.sample_rate,
      context: context_serializer.build(transaction.context),
      span_count: {
        started: transaction.started_spans,
        dropped: transaction.dropped_spans
      }
    }
  }
end
context_serializer() click to toggle source
# File lib/elastic_apm/transport/serializers/transaction_serializer.rb, line 25
def context_serializer
  @context_serializer ||= ContextSerializer.new(config)
end