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
_______________________________________________
uWSGI mailing list
[email protected]
http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi

Reply via email to