<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta name="generator" content="Osso Notes">
    <title></title></head>
<body>
<p>Hi,
<br>
<br>applied all, thanks. I can see some potential performance issues though (lots of memory allocations in walking), that will probably be a bottleneck one day.
<br>
<br>----- Original message -----
<br>&gt; The patches that will follow this overview soon implement a 'walker'
<br>&gt; for value-pairs, a way to walk the internal flat structure syslog-ng
<br>&gt; uses as if it was a tree. This is important for two modules in
<br>&gt; particular: $(format-json) and the mongodb destination.
<br>&gt; 
<br>&gt; The latter already supportes storing structured data, but it is using
<br>&gt; upserts (with all its downsides) to accomplish that. The former - up
<br>&gt; until now - was only able to format flat JSON.
<br>&gt; 
<br>&gt; With these patches, both change: $(format-json) becomes able to emit
<br>&gt; structured data, and the mongodb destination starts to use inserts.
<br>&gt; 
<br>&gt; The patches also merge the tfjson and jsonparser modules into a single
<br>&gt; json module, and implements our own JSON formatting for
<br>&gt; $(format-json). This means that json-glib support is completely
<br>&gt; removed, as it became unnecessary, and json-c is only used by the
<br>&gt; parser, but for practical reasons, required to build the plugin. That
<br>&gt; is, it is no longer possible to build $(format-json) only, but not
<br>&gt; json-parser, nor the other way around.
<br>&gt; 
<br>&gt; The final patch is a bonus, that corrects a small error in jsonparser,
<br>&gt; and stops it from emitting an assertion warning on stderr in certain
<br>&gt; cases.
<br><br></p>
</body>
</html>