Hi Guys, I wrote a lua sandbox filter plugin to count a field in the message matcher. I'm trying also to include the content of the message into the new message that is being injected.
--[[ --]] require "math" require "string" require "table" counter_msg = 0; payload = nil fields = nil local floor = math.floor function process_message () counter_msg = counter_msg + 1 payload = read_message("Payload") fields = read_message("Fields") return 0 end function timer_event(ns) local msg = { Timestamp = nil, Type = "counter.stats", Payload = nil, Fields = nil } msg.Payload = payload msg.Fields = fields msg.Fields["Count_MemFree"] = counter_msg inject_msg(msg) end When the timer event is triggered I got the following error: 2015/04/30 13:01:45 Plugin 'MemStatFilter' error: attempted to Inject a message to itself 2015/04/30 13:01:45 Plugin 'MemStatFilter': stopped 2015/04/30 13:01:45 Plugin 'MemStatFilter': has stopped, exiting plugin without shutting down. 2015/04/30 13:01:45 :Timestamp: 2015-04-30 20:01:45.283326565 +0000 UTC :Type: heka.terminated :Hostname: slc01hza :Pid: 26170 :Uuid: cc72c845-93b5-428f-a186-a2f186981efb :Logger: hekad :Payload: MemStatFilter (type SandboxFilter) terminated. Error: Filter unloaded. :EnvVersion: :Severity: 7 :Fields: | name:"plugin" type:string value:"MemStatFilter" 2015/04/30 13:01:45 Plugin 'MemStatFilter' error: Lost/Droppe I know that modify the message inside a filter is not allowed. I thought create a new message using inject_message or inject_payload was available. I tried both. Am I doing something wrong? Best, Adriano
_______________________________________________ Heka mailing list Heka@mozilla.org https://mail.mozilla.org/listinfo/heka