Method: Sentry::TransactionEvent#initialize

Defined in:
lib/sentry/transaction_event.rb

#initialize(transaction:, **options) ⇒ TransactionEvent

Returns a new instance of TransactionEvent.

[View source]

23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/sentry/transaction_event.rb', line 23

def initialize(transaction:, **options)
  super(**options)

  self.transaction = transaction.name
  self.transaction_info = { source: transaction.source }
  self.contexts.merge!(transaction.contexts)
  self.contexts.merge!(trace: transaction.get_trace_context)
  self.timestamp = transaction.timestamp
  self.start_timestamp = transaction.start_timestamp
  self.tags = transaction.tags
  self.dynamic_sampling_context = transaction.get_baggage.dynamic_sampling_context
  self.measurements = transaction.measurements
  self.metrics_summary = transaction.metrics_summary

  finished_spans = transaction.span_recorder.spans.select { |span| span.timestamp && span != transaction }
  self.spans = finished_spans.map(&:to_hash)

  populate_profile(transaction)
end