JezK
Edit File: page-README.ri
U:RDoc::TopLevel[ i I"README:ETcRDoc::Parser::Simpleo:RDoc::Markup::Document:@parts[:S:RDoc::Markup::Heading: leveli: textI"<raindrops - real-time stats for preforking Rack servers;To:RDoc::Markup::BlankLine o:RDoc::Markup::Paragraph;[ I"Mraindrops is a real-time stats toolkit to show statistics for Rack HTTP ;TI"Jservers. It is designed for preforking servers such as unicorn, but ;TI"Nshould support any Rack HTTP server on platforms supporting POSIX shared ;TI"Mmemory. It may also be used as a generic scoreboard for sharing atomic ;TI"(counters across multiple processes.;T@ S; ; i;I" Features;T@ o:RDoc::Markup::List: @type:BULLET:@items[ o:RDoc::Markup::ListItem:@label0;[o; ;[I"Acounters are shared across all forked children and lock-free;T@ o;;0;[o; ;[I"Mcounters are kept on separate cache lines to reduce contention under SMP;T@ o;;0;[o; ;[I"@may expose server statistics as a Rack Middleware endpoint ;TI"(default: "/_raindrops");T@ o;;0;[o; ;[I"Gmiddleware displays the number of actively processing and writing ;TI"Fclients from a single request regardless of which worker process ;TI" it hits.;T@ S; ; i;I"Linux-only Extra Features!;T@ o;;;;[o;;0;[o; ;[I"@Middleware response includes extra stats for bound TCP and ;TI"BUnix domain sockets (configurable, it can include stats from ;TI".other TCP or UNIX domain socket servers).;T@ o;;0;[o; ;[I"ETCP socket stats use efficient inet_diag facilities via netlink ;TI"<instead of parsing /proc/net/tcp to minimize overhead. ;TI"(This was fun to discover and write.;T@ o;;0;[o; ;[I"LTCP_Info reporting may be used to check stat for every accepted client ;TI"on TCP servers;T@ o; ;[I"JUsers of older Linux kernels need to ensure that the the "inet_diag" ;TI"Oand "tcp_diag" kernel modules are loaded as they do not autoload correctly;T@ S; ; i;I"Install;T@ o; ;[I"HWe recommend GCC 4+ (or compatible) to support the __sync builtins ;TI"$(__sync_{add,sub}_and_fetch()):;T@ o; ;[I"Dhttps://gcc.gnu.org/onlinedocs/gcc/_005f_005fsync-Builtins.html;T@ o; ;[I"NFor non-GCC 4+ users, we also support compilation with the libatomic_ops ;TI"+package starting with Raindrops 0.4.0:;T@ o; ;[I"+https://github.com/ivmai/libatomic_ops;T@ o; ;[I"JIf you're using a packaged Ruby distribution, make sure you have a C ;TI"Fcompiler and the matching Ruby development libraries and headers.;T@ o; ;[I"If you use RubyGems:;T@ o:RDoc::Markup::Verbatim;[I"gem install raindrops ;T:@format0S; ; i;I" Usage;T@ o; ;[ I"MSee Raindrops::Middleware and Raindrops::LastDataRecv documentation for ;TI"Juse Rack servers. The entire library is fully-documented and we are ;TI"8responsive on the publically archived mailing list ;TI"/(mailto:raindrops-public@bogomips.org) if ;TI"(you have any questions or comments.;T@ S; ; i;I"Development;T@ o; ;[I"HYou can get the latest source via git from the following locations:;T@ o;;[I"&git://bogomips.org/raindrops.git ;TI"-git://repo.or.cz/raindrops.git (mirror) ;T;0o; ;[I"KYou may browse the code from the web and download the latest snapshot ;TI"tarballs here:;T@ o;;;;[o;;0;[o; ;[I"'https://bogomips.org/raindrops.git;To;;0;[o; ;[I"/http://repo.or.cz/w/raindrops.git (gitweb);T@ o; ;[I"FInline patches (from "git format-patch") to the mailing list are ;TI"Kpreferred because they allow code review and comments in the reply to ;TI"the patch.;T@ o; ;[ I"LWe will adhere to mostly the same conventions for patch submissions as ;TI"Cgit itself. See the Documentation/SubmittingPatches document ;TI"Mdistributed with git on on patch submission guidelines to follow. Just ;TI"Kdon't email the git mailing list or maintainer with raindrops patches.;T@ o; ;[I".raindrops is licensed under the LGPL-2.1+;T@ S; ; i;I"Contact;T@ o; ;[I"KAll feedback (bug reports, user/development discussion, patches, pull ;TI";requests) go to the publically archived mailing list: ;TI")mailto:raindrops-public@bogomips.org;T@ o; ;[I"=Mailing list archives are available over HTTPS and NNTP:;T@ o;;;;[o;;0;[o; ;[I"+https://bogomips.org/raindrops-public/;To;;0;[o; ;[I"@nntp://news.public-inbox.org/inbox.comp.lang.ruby.raindrops;T@ o; ;[I"@Since archives are public, scrub sensitive information and ;TI"Huse anonymity tools such as Tor or Mixmaster if you deem necessary.;T: @file@:0@omit_headings_from_table_of_contents_below0