Date: Sat, 27 Dec 2014 19:08:29 -0800 From: Alfred Perlstein <bright@mu.org> To: "Simon J. Gerraty" <sjg@juniper.net> Cc: Marcel Moolenaar <marcel@freebsd.org>, Phil Shafer <phil@juniper.net>, John-Mark Gurney <jmg@funkthat.com>, Alfred Perlstein <alfred@freebsd.org>, "arch@freebsd.org" <arch@freebsd.org>, Poul-Henning Kamp <phk@phk.freebsd.dk>, freebsd-arch <freebsd-arch@freebsd.org>, Konstantin Belousov <kostikbel@gmail.com> Subject: Re: Libxo bugs and fixes. Message-ID: <549F742D.3000802@mu.org> In-Reply-To: <23687.1419546234@chaos> References: <201408141640.s7EGe422096656@idle.juniper.net> <53ED57F2.5020808@mu.org> <20140815053604.9E40B580A2@chaos.jnpr.net> <53EDB0EF.6090902@mu.org> <20140815173830.93832580A2@chaos.jnpr.net> <53EEA74B.9070107@mu.org> <20140816045254.5F47E580A2@chaos.jnpr.net> <549BA675.9070107@freebsd.org> <29784.1419492726@chaos> <26E73A9E-6EA4-4698-885D-BD91906D32D2@mu.org> <18276.1419528679@chaos> <549C50FB.6050908@mu.org> <23687.1419546234@chaos>
next in thread | previous in thread | raw e-mail | index | archive | help
On 12/25/14 2:23 PM, Simon J. Gerraty wrote: > Alfred Perlstein <bright@mu.org> wrote: >> I don't think my patch adds an xo_flush to xo_emit... ? > No, you added a test around it - I only looked at the RHS. > OK, so I've updated https://reviews.freebsd.org/D1379 to include code to handle this. Solaris and glibc have a private libc function to check if a stream is line buffered called int __flbf (FILE *stream) which returns true/false if the stream if line buffered or not. We can use this in libxo now. This should avoid the superfluous flushes. One other topic, I talked to some webdevs and they suggested that we have a "jsonLD" which stands for "json line delimited" that would be useful for periodic output. This would be halfway between a "pretty format" and a compact stream format. meaning that each line would be a record, example: Currently: /usr/src/contrib/libxo/libxo % netstat --libxo json,pretty 1 { "statistics": { "interface-statistics": [ { "received-packets": 2, "received-errors": 0, "dropped-packets": 0, "received-bytes": 132, "sent-packets": 4, "send-errors": 0, "sent-bytes": 1080, "collisions": 0 }, { "received-packets": 2, "received-errors": 0, "dropped-packets": 0, "received-bytes": 132, "sent-packets": 6, "send-errors": 0, "sent-bytes": 1964, "collisions": 0 }, { "received-packets": 1, "received-errors": 0, "dropped-packets": 0, "received-bytes": 66, "sent-packets": 4, "send-errors": 0, "sent-bytes": 1048, "collisions": 0 Later we might want to support something like this: /usr/src/contrib/libxo/libxo % netstat --libxo json,ld 1 { "statistics": { "interface-statistics": [ { "received-packets": 2, "received-errors": 0, "dropped-packets": 0, "received-bytes": 132, "sent-packets": 4, "send-errors": 0, "sent-bytes": 1080, "collisions": 0 }, { "received-packets": 2, "received-errors": 0, "dropped-packets": 0, "received-bytes": 132, "sent-packets": 6, "send-errors": 0, "sent-bytes": 1964, "collisions": 0 }, { "received-packets": 1, "received-errors": 0, "dropped-packets": 0, "received-bytes": 66, "sent-packets": 4, "send-errors": 0, "sent-bytes": 1048, "collisions": 0 } Let me know what you think. -Alfred
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?549F742D.3000802>