about summary refs log tree commit homepage
DateCommit message (Collapse)
2011-03-21raindrops 0.6.1 - fix build on non-Linux v0.6.1
TCP_INFO support couldn't compile under non-Linux, this was broken since 0.5.0 when TCP_INFO support was introduced. Thanks to Ben Bleything for the report.
2011-03-21tcp_info: mark this as Linux-only
We can't even pull in linux/*.h headers to check for TCP_INFO.
2011-03-21raindrops 0.6.0 - polishing up the last release v0.6.0
Following up the huge 0.5.0 release, 0.6.0 makes some minor improvements: * minor UI/UX improvements for Watcher Rack app * set close-on-exec by default for inet_diag sockets * inet_diag build fixes for newer GNU libc6 * --with-atomic_ops-dir= build option added
2011-03-21extconf: use dir_config properly
dir_config may be used to build for libatomic_ops. The previous use of dir_config was from back when I didn't understand mkmf. This means you can now use: gem install raindrops -- --with-atomic_ops-dir=/usr/local If you libatomic_ops library was installed in /usr/local instead of /usr
2011-03-21inet_diag: no need to rely on sin6_addr internals
Seems to breaks under newer libc headers (on Debian sid).
2011-03-21extconf: remove check for rb_struct_alloc_noinit()
We no longer use it.
2011-03-21inet_diag: fix build under MRI 1.8.7
2011-03-21inet_diag: FD_CLOEXEC for inet_diag sockets by default
Very few programs can take advantage of inheriting FDs across exec() boundaries, and inet_diag sockets have no reason to be used in this way.
2011-03-21inet_diag: use rb_thread_io_blocking_region under 1.9.3dev
It can detect cross-thread close() calls
2011-03-21watcher: remove redundant Rack::Response
No need to duplicate code
2011-03-18watcher: add title attributes to elements
It can help navigation, we think...
2011-03-18watcher: RDoc examples point to the demo
No need to waste bandwidth of example.com when we have a meaningful demo site :)
2011-03-18watcher: set Expires headers for cache invalidation
We know exactly when to invalidate based on the delay :)
2011-03-18zbatery.conf: disable user switching, add pid file
Zbatery sucks at user switching + USR2+QUIT reloads
2011-03-18watcher: prevent Rack::Deflater from buffering
Set "Cache-Control: no-transform" to prevent frontend proxies from flushing data.
2011-03-17watcher: add link to the Watcher documentation
Hopefully people can learn to use the REST API this way.
2011-03-16watcher: fix rdoc
2011-03-16raindrops 0.5.0 - more Linux extras! v0.5.0
Portable changes: * Raindrops are now resizable within the limits of system page size * Raindrops::Middleware proxies +to_path+ in response bodies * More documentation Linux-only changes: * Raindrops::LastDataRecv[1] Rack application * Raindrops::Watcher[2] Rack application * Raindrops::TCP_Info[3] class for capturing TCP connection stats * IPv6 support for inet_diag * faster inet_diag stats for multiple sockets There is also a demo server running the Watcher and Middleware components. It's capped to 30 concurrent users, so go easy on it: Raindrops::Watcher: http://raindrops-demo.bogomips.org/ Raindrops::Middleware: http://raindrops-demo.bogomips.org/_raindrops [1] http://raindrops.bogomips.org/Raindrops/LastDataRecv.html [2] http://raindrops.bogomips.org/Raindrops/Watcher.html [3] http://raindrops.bogomips.org/Raindrops/TCP_Info.html
2011-03-16watcher: retry on empty stats
Those will cause Aggregate to raise Errno::EDOM
2011-03-16test_raindrops_gc: disable by default
It takes too long
2011-03-16test_linux_all_tcp_listen_stats_leak: fix for 1.8
Apparently 1.8 Test::Unit doesn't like empty test classes
2011-03-17rdoc: document the demo URLs
2011-03-17watcher_demo: add more listeners to the mix
git is on 9418 and my cgit UNIX domain socket
2011-03-17inet_diag: properly deal with INADDR_ANY binds
Oops :x This was totally broken with the all-listener filter.
2011-03-17linux-listener-stats: all means all (UNIX and TCP listeners)
No more splitting all TCP or all UNIX listeners
2011-03-17update examples for http://raindrops-demo.bogomips.org/
Whee!
2011-03-17watcher: properly stream responses for <= HTTP/1.0
nginx makes HTTP/1.0 requests and expects HTTP/1.1 responses
2011-03-16update examples for Rack/Zbatery
2011-03-16doc: fix documentation for Raindrops::InetDiagSocket class
2011-03-16add Watcher Rack application
It does streaming!
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.