> >> 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 > >
I have rewritten carbon plugin to use the stats_pusher subsystem. It is a bit hacky, but should be more solid while me work on the 2.0 metrics api. Let me know if it works well for you (it is available in both 1.4 and 1.9). If Lukasz confirm that are no regressions too i will release 1.4.7 today -- Roberto De Ioris http://unbit.it _______________________________________________ uWSGI mailing list [email protected] http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi
