module FFWD::Processor
Public Class Methods
category()
click to toggle source
# File lib/ffwd/processor.rb, line 81 def self.category 'processor' end
included(mod)
click to toggle source
# File lib/ffwd/processor.rb, line 85 def self.included(mod) mod.extend ClassMethods end
load_discovered(source)
click to toggle source
# File lib/ffwd/processor.rb, line 89 def self.load_discovered source end
load_processors(config)
click to toggle source
setup hash of processor setup classes.
# File lib/ffwd/processor.rb, line 93 def self.load_processors config registry.map do |name, klass| unless klass.respond_to? :prepare raise "Processor #{klass} does not have a 'prepare' method" end config = klass.prepare Hash[config[name] || {}] Setup.new name, klass, config end end
registry()
click to toggle source
# File lib/ffwd/processor.rb, line 77 def self.registry @@registry ||= {} end
Public Instance Methods
name()
click to toggle source
# File lib/ffwd/processor.rb, line 73 def name self.class.name end
process(m)
click to toggle source
Module to include for processors.
Usage:
class MyProcessor
include FFWD::Processor register_processor "my_processor" def initialize opts .. read options .. end def start emitter ... setup EventMachine tasks ... end def process emitter, m ... process a single metric ... emitter.metrics.emit ... end
end
# File lib/ffwd/processor.rb, line 59 def process m raise Exception.new("process: Not Implemented") end