about summary refs log tree commit homepage
DateCommit message (Collapse)
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.
2011-03-01linux-tcp-listener-stats: synchronize stdout/stderr
We want any pipe readers to see this immediately
2011-02-28doc: mention tcp_diag/inet_diag for old kernels
People actually need to load modules manually on older kernels :<
2011-02-26middleware: split out proxy class
It's easier to find this way.
2011-02-26middleware: avoid double decrement when reading stats
Oops!
2011-02-25proxy +to_path+ calls in the response body
We need to do this for apps that depend on things like the sendfile() optimizations in Rainbows!
2011-02-23LICENSE: fix wording, we bundle a copy of the LGPL
No need for people to download glibc to get the LGPL :>
2011-02-23add Raindrops::MAX constant
This is the highest number a counter may be incremented to before it overflows.
2011-02-23linux: add support for TCP_INFO reporting
This returns a Raindrops::TCP_Info object that wraps a tcp_info struct.
2011-02-23split out RSTRUCT* compat macros
We might reuse that for other code...
2011-02-23use autoload for Linux module
We'll be doing more Linux-only stuff
2011-02-15middleware: add ipv6 address detection for Unicorn
Since Unicorn and Rainbows! support IPv6 now, it makes sense to support the rfc2732-style addresses it returns.
2011-02-15linux: add ipv6 support for inet_diag
inet_diag already supports AF_INET6.
2011-02-15README: shorten git URLs
bogomips.org is on a URL diet
2011-02-15test_linux: fix STRESS=1 tests
2011-02-15middleware: switch to ivars
These are slightly faster than regular method dispatch
2011-02-15middleware: avoid capturing block variable
It's a needless allocation
2011-02-15unindent modules
No need to clutter/confuse namespace lookups
2011-02-15update packaging to use wrongdoc + pkg.mk
No more JavaScript!
2011-02-11addrs are always an Array of Strings
Acked-by: Eric Wong <normalperson@yhbt.net>
2010-09-26README: update for Rubinius support
It works!
2010-09-26raindrops 0.4.1 - more portability! v0.4.1
Rubinius 1.1.0 support is complete. Atomic operations are now available under FreeBSD 7.0 now. Full changelog below: commit 8a2a725a4ad074af493e5aa075155eda8b1d6be7 Author: Eric Wong <e+absinthe@yhbt.net> Date: Sat Sep 25 00:14:48 2010 -0700 force -march=i486 where GCC is targeted for i386 Nobody uses i386 anymore (especially not with Ruby!), but some systems like FreeBSD 7.0 still target GCC at i386 by default, so we force GCC to use a slightly more modern instruction set and allow it to use atomic builtins. commit 256cc7c8ffb441dcf2d2a2da3bbbcc82546962d9 Author: Eric Wong <e+absinthe@yhbt.net> Date: Sat Sep 25 00:01:46 2010 -0700 disable Linux-only code on non-Linux This allows us to build and link correctly on FreeBSD 7.0 commit 22a5a39d75faa890048d07ae4ea0d494acd414ce Author: Eric Wong <e@yhbt.net> Date: Sat Sep 25 06:25:42 2010 +0000 linux: workaround missing RSTRUCT* macros in rbx Rubinius does not include macros for accessing Struct members in the C API. ref: http://github.com/evanphx/rubinius/issues/494
2010-09-25force -march=i486 where GCC is targeted for i386
Nobody uses i386 anymore (especially not with Ruby!), but some systems like FreeBSD 7.0 still target GCC at i386 by default, so we force GCC to use a slightly more modern instruction set and allow it to use atomic builtins.
2010-09-25disable Linux-only code on non-Linux
This allows us to build and link correctly on FreeBSD 7.0
2010-09-25linux: workaround missing RSTRUCT* macros in rbx
Rubinius does not include macros for accessing Struct members in the C API. ref: http://github.com/evanphx/rubinius/issues/494
2010-09-21release: publish rubyforge news post
Otherwise we'd keep forgetting and users would not know about us.
2010-09-20raindrops 0.4.0 - flowing into new systems! v0.4.0
Non-GCC 4.x users may use the libatomic_ops[1] package to compile Raindrops. Memory efficiency is improved for modern glibc users with run-time cache line size detection, we no longer assume 128 byte cache lines. [1] - http://www.hpl.hp.com/research/linux/atomic_ops/
2010-09-20README: updates for upcoming 0.4.0 release
No more GCC 4.x dependency!
2010-09-20Merge branch '0.3.0' (fixup minor 0.3.0 mistag)
* 0.3.0: raindrops v0.3.0 - LGPL v2.1 and v3.0
2010-09-20Merge commit 'v0.3.0' into 0.3.0
* commit 'v0.3.0': raindrops v0.3.0 - LGPL v2.1 and v3.0
2010-09-18use runtime cache line size detection
Modern glibc can easily return the L1 cache line size with sysconf(3), so we'll use that and avoid paying a size penalty on CPUs with smaller cache lines than 128 (every modern x86 except the idiotic P4). Additionally, if we detect a single CPU machine, avoid paying any padding penalty at all. On machines without the non-portable glibc sysconf(3) enhancements, we'll continue to operate on the assumption of an enormous 128 byte cache line size.
2010-09-18allow using libatomic_ops headers from HP
This allows non-GCC 4.x users to experience Raindrops.
2010-08-04test: make GC test (hopefully) more reliable
It's not pretty...