about summary refs log tree commit homepage
DateCommit message (Collapse)
2011-03-15linux-listener-stats: use timerfd if available
It is more accurate than sleep and doesn't require calculating times
2011-03-14linux: avoid Array#first/Array#last
More confusing for me, actually...
2011-03-14linux: unix_listener_stats may scan all paths
This matches behavior of the TCP version.
2011-03-14linux-listener-stats: allow -a for all TCP sockets
Sometimes we want more of them
2011-03-12inet_diag: switch to inet_pton() for translation
getaddrinfo() needs to get a list of available interfaces from the kernel with every single call (since ipv6 could've been modprobed), so it's a waste of syscalls.
2011-03-12allow reusing netlink socket for inet_diag
No need to waste resources on creating/destroying a socket.
2011-03-12inet_diag: fix signedness warnings on 32-bit
I thought my compiler would be smarter :<
2011-03-12inet_diag: no need to specify family
The way we dump, we dump it all, it seems.
2011-03-12inet_diag: fix up IPv6 address stringification
This means we can read multiple addresses at once, even IPv6 ones.
2011-03-12tests: remove unused_port function
It's not needed since we don't care to rebind sockets
2011-03-12inet_diag: fall back on IPv6 lookups
It's slow, but at least it works.
2011-03-12inet_diag: fold all_tcp_listener_stats into tcp_listener_stats
No reason to have an extra method. This also speeds up the multi-listener case for tcp_listener_stats since it avoids expensive sendmsg() syscalls.
2011-03-12inet_diag: small reorganization
2011-03-12inet_diag: do not set unblocking function
netlink is fast and predictable in response times, so permitting interrupts would just complicate things and lead to errors.
2011-03-12move st_table cleanup
Fewer places to check for errors, we think.
2011-03-12inet_diag: stricter IPv6 address parsing
Be stricter about invalid inputs.
2011-03-11linux: method for dumping all TCP listener stats
This is a work-in-progress and will probably be modified before the next release.
2011-03-11inet_diag: force the use of 32-bit counters
64-bit counters are unnecessarily large for tracking active or queued connections until we have IP_ROFLSCALE support :>
2011-03-11inet_diag: fixup braindamage from refactoring
Oops :x
2011-03-11cleanup struct initialization to avoid ifdefs
Too hard to maintain.
2011-03-11use unsigned values for all counters
We can't have negative values
2011-03-11inet_diag: cleanup unnecessarily large struct
We don't care for this address.
2011-03-11inet_diag: fixup broken assertion
Oops, strings are always true :x
2011-03-11inet_diag: factor out prep code
We're going to experiment with something...
2011-03-11doc: more rdoc updates for Linux users
Yes we love Linux more than other systems :>
2011-03-11the core Raindrops class is portable, yes it is
OK, not to non-Unix but I'll never care :>
2011-03-11tcp_info: more documentation on last_data_recv
It's useful, yes.
2011-03-10.document: remove non-existent reference
raindrops_ext.c never existed :o
2011-03-10tests: only do the GC test on MRI
"Advanced" GCs are typically less aggressive and typically allow much more memory to be used.
2011-03-10fix stupid typo in Raindrops#size=
Oops, it could give the GC problems.
2011-03-10tests: ensure munmap() in children don't muck up the parent
Raindrops is designed to work with forking servers after all.
2011-03-11support for Raindrops#size= and Raindrops#evaporate!
This allows limited resizing of the Raindrops memory area since we always over-allocate due to the required page aligment for mmap. It would be nice if mremap() worked with MAP_SHARED, but it does not and triggers a bus error when attempting to access the new area. ref: https://bugzilla.kernel.org/show_bug.cgi?id=8691
2011-03-10rdoc: 100% documentation coverage!
Of course, RDoc doesn't know quantity vs quality :)
2011-03-10test_middleware_unicorn: GC is aggressive!
Oops, don't let GC close our listener before Unicorn can inherit it.
2011-03-09experiment with Bundler for dev dependencies
It seems nice
2011-03-09disable aggregate/pmq stuff under 1.8
POSIX message queues needs native threads to function.
2011-03-09aggregate/pmq: we need a Mutex to protect fcntl() locks
fcntl() locks are per-process, so we also need something to protect individual threads within a process from stepping over each other.
2011-03-08linux-listener-stats: do not load aggregate for single snapshot
This is only useful when looped inside screen or something similar...
2011-03-08linux-listener-stats: add optional Aggregate gem support
USR1 dumps histograms, and USR2 resets the counters
2011-03-08linux-listener-stats: favor narrower display if possible
No need to make eyes drift :)
2011-03-08preliminary Rack app to track last_data_recv
Seems to basically work
2011-03-04test_linux_tcp_info: add test for last_data_recv
2011-03-04Aggregate support via POSIX message queues
2011-03-01tests: cleaner skipping for missing components
2011-03-01gemspec: add Rack and Unicorn as dev dependencies
They are useful
2011-03-01test_linux_tcp_info: workaround for ancient kernels
UGH...
2011-03-01use struct tcp_info from linux/tcp.h
It's more complete for people on ancient systems where "struct tcp_info" is defined in netinet/tcp and missing tcp_ircv_rtt, tcpi_rcv_space and tcpi_total_retrans.
2011-03-01linux-listener-stats: add timestamps and thresholds
Matches my common usage patterns
2011-03-01linux-tcp-listener-stats: fix fractional second delays
Sometimes sleeping for one second between reads is too much...
2011-03-01linux-listener-stats: not just for TCP...
This can now be used to monitor UNIX domain socket queues, too.