diff options
author | Laurent Bercot <ska-skaware@skarnet.org> | 2018-03-20 15:18:27 +0000 |
---|---|---|
committer | Laurent Bercot <ska-skaware@skarnet.org> | 2018-03-20 15:18:27 +0000 |
commit | 3b8083f63e774b30963948778e01553d85cfea29 (patch) | |
tree | 015d66331767872b0b5831c2f924dcfb1551454d | |
parent | 26c5fee82736e56cff3d114ff9d6e3969d1ce061 (diff) | |
download | s6-3b8083f63e774b30963948778e01553d85cfea29.tar.xz |
Add throttling support to s6-svstat
-rw-r--r-- | doc/s6-svstat.html | 4 | ||||
-rw-r--r-- | src/supervision/s6-svstat.c | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/doc/s6-svstat.html b/doc/s6-svstat.html index 0da40cd..a77f903 100644 --- a/doc/s6-svstat.html +++ b/doc/s6-svstat.html @@ -75,7 +75,9 @@ are as follows. <em>fields</em> is a list of comma-separated field names. The valid field names are the following: <ul> - <li> <tt>up</tt>: print <tt>true</tt> if the service is up and <tt>false</tt> if it is down. </li> + <li> <tt>up</tt>: print <tt>true</tt> if the service is up and <tt>false</tt> if it is down. +If the service is being throttled (i.e. technically up, but sleeping for a certain +amount of time before it is really launched), it prints <tt>throttled</tt> instead of <tt>true</tt>. </li> <li> <tt>wantedup</tt>: print <tt>true</tt> if <a href="s6-supervise.html">s6-supervise</a> is currently instructed to (re)start the service when it is down, and <tt>false</tt> if <a href="s6-supervise.html">s6-supervise</a> is currently instructed to leave the service alone. </li> diff --git a/src/supervision/s6-svstat.c b/src/supervision/s6-svstat.c index 03ea004..d46c60a 100644 --- a/src/supervision/s6-svstat.c +++ b/src/supervision/s6-svstat.c @@ -35,7 +35,7 @@ struct funcmap_s static void pr_up (buffer *b, s6_svstatus_t const *st) { - buffer_putsnoflush(b, st->pid && !st->flagfinishing ? "true" : "false") ; + buffer_putsnoflush(b, st->pid && !st->flagfinishing ? st->flagthrottled ? "throttled" : "true" : "false") ; } static void pr_wantedup (buffer *b, s6_svstatus_t const *st) @@ -210,6 +210,8 @@ static void legacy (s6_svstatus_t *st, int flagnum) buffer_putnoflush(buffer_1small, fmt, uint64_fmt(fmt, status.stamp.sec.x)) ; buffer_putnoflush(buffer_1small, " seconds", 8) ; + if (isup && status.flagthrottled) + buffer_putnoflush(buffer_1small, ", throttled", 11) ; if (isup && !normallyup) buffer_putnoflush(buffer_1small, ", normally down", 15) ; if (!isup && normallyup) |