Class: Appsignal::Aggregator::PostProcessor

Inherits:
Object
  • Object
show all
Defined in:
lib/appsignal/aggregator/post_processor.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(transactions) ⇒ PostProcessor

Returns a new instance of PostProcessor.



6
7
8
# File 'lib/appsignal/aggregator/post_processor.rb', line 6

def initialize(transactions)
  @transactions = transactions
end

Instance Attribute Details

#transactionsObject (readonly)

Returns the value of attribute transactions.



4
5
6
# File 'lib/appsignal/aggregator/post_processor.rb', line 4

def transactions
  @transactions
end

Class Method Details

.default_middlewareObject



19
20
21
22
23
24
25
26
27
28
29
# File 'lib/appsignal/aggregator/post_processor.rb', line 19

def self.default_middleware
  Middleware::Chain.new do |chain|
    chain.add Appsignal::Aggregator::Middleware::DeleteBlanks
    if defined?(::ActionView)
      chain.add Appsignal::Aggregator::Middleware::ActionViewSanitizer
    end
    if defined?(::ActiveRecord)
      chain.add Appsignal::Aggregator::Middleware::ActiveRecordSanitizer
    end
  end
end

Instance Method Details

#post_processed_queue!Object



10
11
12
13
14
15
16
17
# File 'lib/appsignal/aggregator/post_processor.rb', line 10

def post_processed_queue!
  transactions.map do |transaction|
    transaction.events.each do |event|
      Appsignal.post_processing_middleware.invoke(event)
    end
    transaction.to_hash
  end
end