* [ANN] raindrops 0.14.0 - real-time stats for preforking Rack servers
@ 2015-06-25 21:54 5% Eric Wong
0 siblings, 0 replies; 2+ results
From: Eric Wong @ 2015-06-25 21:54 UTC (permalink / raw)
To: ruby-talk; +Cc: raindrops-public
Raindrops is a real-time stats toolkit to show statistics for Rack HTTP
servers. It is designed for preforking servers such as Rainbows! and
Unicorn, but should support any Rack HTTP server under Ruby 2.0, 1.9,
1.8 and Rubinius on platforms supporting POSIX shared memory. It may
also be used as a generic scoreboard for sharing atomic counters across
multiple processes.
* http://raindrops.bogomips.org/
* No subscription necessary, no HTML mail:
raindrops-public@bogomips.org
* git clone git://bogomips.org/raindrops.git
* http://raindrops.bogomips.org/NEWS.atom.xml
* http://raindrops-demo.bogomips.org/
Changes: nothing terribly interesting, misc doc updates
Eric Wong (7):
linux_inet_diag: annotate memory freeing on diag errors
README: trim intro and update license
modernize packaging and documentation
move mailing list to raindrops-public@bogomips.org
linux_inet_diag: clarify *fprintf usage without GVL
TODO: add item for unix_diag and udp_diag
linux_inet_diag: fix Wshorten-64-to-32 warnings
Hleb Valoshka (1):
Add setup and teardown for ipv6 tests
--
EW
^ permalink raw reply [relevance 5%]
* [PATCH] linux_inet_diag: clarify *fprintf usage without GVL
@ 2015-01-14 0:25 7% Eric Wong
0 siblings, 0 replies; 2+ results
From: Eric Wong @ 2015-01-14 0:25 UTC (permalink / raw)
To: raindrops-public; +Cc: Eric Wong
A reviewer may wonder why fprintf is chosen instead of rb_warn,
so make it clear we're outside of the GVL when spewing the
warning message and cannot use most rb_* functions.
---
ext/raindrops/linux_inet_diag.c | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/ext/raindrops/linux_inet_diag.c b/ext/raindrops/linux_inet_diag.c
index fa8de03..5f21295 100644
--- a/ext/raindrops/linux_inet_diag.c
+++ b/ext/raindrops/linux_inet_diag.c
@@ -1,4 +1,5 @@
#include <ruby.h>
+#include <stdarg.h>
#ifdef HAVE_RUBY_ST_H
# include <ruby/st.h>
#else
@@ -213,8 +214,14 @@ static const char *addr_any(sa_family_t family)
return ipv6;
}
-static void bug_warn(void)
+static void bug_warn_nogvl(const char *fmt, ...)
{
+ va_list ap;
+
+ va_start(ap, fmt);
+ vfprintf(stderr, fmt, ap);
+ va_end(ap);
+
fprintf(stderr, "Please report how you produced this at "\
"raindrops-public@bogomips.org\n");
fflush(stderr);
@@ -263,8 +270,7 @@ static struct listen_stats *stats_for(st_table *table, struct inet_diag_msg *r)
assert(0 && "unsupported address family, could that be IPv7?!");
}
if (rc != 0) {
- fprintf(stderr, "BUG: getnameinfo: %s\n", gai_strerror(rc));
- bug_warn();
+ bug_warn_nogvl("BUG: getnameinfo: %s\n", gai_strerror(rc));
*key = 0;
}
@@ -296,8 +302,7 @@ static struct listen_stats *stats_for(st_table *table, struct inet_diag_msg *r)
addr_any(sa.ss.ss_family),
ntohs(r->id.idiag_sport));
if (n <= 0) {
- fprintf(stderr, "BUG: snprintf: %d\n", n);
- bug_warn();
+ bug_warn_nogvl("BUG: snprintf: %d\n", n);
}
if (st_lookup(table, (st_data_t)key, (st_data_t *)&stats))
return stats;
--
EW
^ permalink raw reply related [relevance 7%]
Results 1-2 of 2 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2015-01-14 0:25 7% [PATCH] linux_inet_diag: clarify *fprintf usage without GVL Eric Wong
2015-06-25 21:54 5% [ANN] raindrops 0.14.0 - real-time stats for preforking Rack servers Eric Wong
Code repositories for project(s) associated with this public inbox
https://yhbt.net/raindrops.git/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).