def initialize(category, options)
@frame_stack = []
@has_children = false
self.default_name = options[:transaction_name]
@overridden_name = nil
@frozen_name = nil
@category = category
@start_time = Time.now
@apdex_start = options[:apdex_start_time] || @start_time
@jruby_cpu_start = jruby_cpu_time
@process_cpu_start = process_cpu
@gc_start_snapshot = NewRelic::Agent::StatsEngine::GCProfiler.take_snapshot
@filtered_params = options[:filtered_params] || {}
@exceptions = {}
@metrics = TransactionMetrics.new
@guid = generate_guid
@cat_path_hashes = nil
@ignore_this_transaction = false
@ignore_apdex = false
@ignore_enduser = false
@ignore_trace = false
@attributes = Attributes.new(NewRelic::Agent.instance.attribute_filter)
merge_request_parameters(@filtered_params)
if request = options[:request]
@request_attributes = RequestAttributes.new request
else
@request_attributes = nil
end
end