<!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>> The patches that will follow this overview soon implement a 'walker'
<br>> for value-pairs, a way to walk the internal flat structure syslog-ng
<br>> uses as if it was a tree. This is important for two modules in
<br>> particular: $(format-json) and the mongodb destination.
<br>>
<br>> The latter already supportes storing structured data, but it is using
<br>> upserts (with all its downsides) to accomplish that. The former - up
<br>> until now - was only able to format flat JSON.
<br>>
<br>> With these patches, both change: $(format-json) becomes able to emit
<br>> structured data, and the mongodb destination starts to use inserts.
<br>>
<br>> The patches also merge the tfjson and jsonparser modules into a single
<br>> json module, and implements our own JSON formatting for
<br>> $(format-json). This means that json-glib support is completely
<br>> removed, as it became unnecessary, and json-c is only used by the
<br>> parser, but for practical reasons, required to build the plugin. That
<br>> is, it is no longer possible to build $(format-json) only, but not
<br>> json-parser, nor the other way around.
<br>>
<br>> The final patch is a bonus, that corrects a small error in jsonparser,
<br>> and stops it from emitting an assertion warning on stderr in certain
<br>> cases.
<br><br></p>
</body>
</html>