> On Tue, 26 Feb 2013 16:58:09 +0100 > Marcin Deranek <[email protected]> wrote: > >> I suspect that as a side effect of the >> above problem we send some malformed metrics eg. >> >> instead of uwsgi.* we have uwsuwsgi.* or uwuwsgi.* and all sorts of >> other combinations of truncated metrics. > > Actually just found an explanation of this.. > write() syscall does not guarantee amount of bytes requested to written. > Amount of bytes can be equal or less eg. > > write(228, ""..., 74) = 74 > write(228, ""..., 76) = 76 > write(228, ""..., 74) = 74 > write(228, ""..., 72) = 50 <<< > write(228, ""..., 74) = -1 EAGAIN (Resource temporarily > unavailable) > > This might causes 2nd metric to be appended to the truncated > previous metric in certain scenarios (when eg. buffer was flushed in the > meantime). > Cheers, > > Marcin >
As the carbon plugin is used by a lot of people, i can invest a bit of time on it (for 1.4 and 1.9, waiting for 2.0 metrics). I will move it to a dedicated thread (avoiding to block the master), it will be a stats-pusher (instead of a master function) and i will fix its i/o. I will send an update in a couple of hours -- Roberto De Ioris http://unbit.it _______________________________________________ uWSGI mailing list [email protected] http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi
