Hi,

Here's another "breaking change" update, relevant to anyone who might be using a MultiDecoder in their Heka configuration. In v0.5.2 and earlier, decoders that were nested inside of a MultiDecoder had to actually have their configuration section nested inside the MultiDecoder's configuration, with a separate specification for the decoder ordering, like so:

[multi]
type = "MultiDecoder"
cascade_strategy = "all"
log_sub_errors = "true"
order = ["sub1", "sub2", "sub3"]

    [multi.subs.sub1]
    type = "MyDecoder"
    ... <etc> ...

    [multi.subs.sub2]
    type = "MyOtherDecoder"
    ... <etc> ...

    [multi.subs.sub3]
    type = "MyOtherOtherDecoder"
    ... <etc> ...

Once my opened PR gets merged to dev (i.e. in v0.6 and beyond) you will no longer nest the subdecoder configs inside the MultiDecoder config. Instead the `order` option goes away, replaced by a `subs` option that refers to top-level decoder definitions by name. The above example, then, would become the following:

[multi]
type = "MultiDecoder"
cascade_strategy = "all"
log_sub_errors = "true"
subs = ["sub1", "sub2", "sub3"]

[sub1]
type = "MyDecoder"
... <etc> ...

[sub2]
type = "MyOtherDecoder"
... <etc> ...

[sub3]
type = "MyOtherOtherDecoder"
... <etc> ...

This means a bit less typing, but more importantly it means that decoder definitions can now be reused, both as standalone decoders and within the context of multiple MultiDecoders.

As an added bonus, I've also improved the MultiDecoder performance by removing some superfluous message type setting code, and have fixed a handful of bugs that we found.

Happy Heka'ing!

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

Reply via email to