Hi Michael,

Thank you for quick response and explanation!
I was looking at docs for Heka Protobuf structure 
(https://hekad.readthedocs.org/en/latest/message/index.html) and that’s why 
I’ve missed this point.


Thanks,
Timur
On 7 Oct 2015 at 17:12:02, Michael Trinkala ([email protected]) wrote:

Always, it is by design as described in the docs for decode_message:
https://hekad.readthedocs.org/en/latest/sandbox/index.html

message (table) The array based version of the message structure with the value 
member always being an array (even if there is only a single item). This format 
makes working with the output more consistent. The wide variation in the inject 
table format is to ease the construction of the message especially when using 
an LPeg grammar transformation.
Trink

On Wed, Oct 7, 2015 at 7:04 AM, Timur Batyrshin <[email protected]> wrote:
Hi,

I’ve got a question about decoding of Heka messages.
Suppose the following call:
msg = decode_message(read_message("raw"))

Here msg.Fields will hold a table of values like the following:
{
 “name”: “foobar”,
 “type”: “string”,
 “value”: 123
}

What is very much unclear to me is why some of the fields here are produced not 
as plain values but as a table holding a single value, like
{
 “name”: “foobar”,
 “value”: [123]
}

This way I need every time to check for if the value is an array or not, an 
example from yourselves: 
https://github.com/mozilla-services/heka/blob/versions/0.10/sandbox/lua/modules/ts_line_protocol.lua#L161-L162


When does this condition occur?

Thanks,
Timur

_______________________________________________
Heka mailing list
[email protected]
https://mail.mozilla.org/listinfo/heka


_______________________________________________
Heka mailing list
[email protected]
https://mail.mozilla.org/listinfo/heka

Reply via email to