Re: [raindrops] raindrops/last_data_recv
- Eric Wong
- 2011-03-25 @ 16:57
Troex Nevelin <email@example.com> wrote:
> I've setup raindrops/last_data_recv with unicorn and rails:
> I'm able to access /_raindrops and /raindrops/last_data_recv.
> The last one shows some aggregated data like Watcher, but what
last_data_recv only works for TCP, but can be more accurate than
watcher. watcher snapshots the queue length at a predefined interval
(1s by default). This means data can slip through the cracks between
intervals with watcher.
last_data_recv measures the actual time a client spent in the TCP queue
(rounded to the nearest 10ms) before it was accept()-ed
In my experience, Watcher is much easier to setup and use.
I need to stick that in the rdoc/website somewhere...
> As I understand it is possible to implement Watcher
> functionality inside my App or in Raindrops middleware. If it is
> true than I'll not need Watcher to monitor my unicorns and I'll
> be able to collect the same data from middleware itself.
Yes, but Watcher needs to be run in a single-process (but
multi-threaded) for data sharing. Reading tcp_diag or /proc/net/unix
can be expensive, so you really don't want multiple processes
aggregating the same data.
 - depends on the kernel timer resolution, I think, need to verify.