> 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

Reply via email to