[sheepdog] [PATCH] sheep: add RPS (request per second) to sd_stat
Robin Dong
robin.k.dong at gmail.com
Wed Jan 8 04:07:04 CET 2014
Reviewed-by: Robin Dong <sanbai at taobao.com>
2014/1/8 Liu Yuan <namei.unix at gmail.com>
> This is useful to determine the transaction per second the sheep daemon
> perform.
> Also fixed a bug that READ and WRITE column name are reverse.
>
> Signed-off-by: Liu Yuan <namei.unix at gmail.com>
> ---
> dog/common.c | 2 +-
> dog/dog.h | 1 +
> dog/node.c | 18 +++++++++++-------
> 3 files changed, 13 insertions(+), 8 deletions(-)
>
> diff --git a/dog/common.c b/dog/common.c
> index 0535a44..93adb85 100644
> --- a/dog/common.c
> +++ b/dog/common.c
> @@ -14,7 +14,7 @@
> #include "sockfd_cache.h"
> #include "fec.h"
>
> -static char *strnumber_raw(uint64_t _size, bool raw)
> +char *strnumber_raw(uint64_t _size, bool raw)
> {
> const char *units[] = {"MB", "GB", "TB", "PB", "EB", "ZB", "YB"};
> static __thread struct size_str {
> diff --git a/dog/dog.h b/dog/dog.h
> index 73518d4..12dfc52 100644
> --- a/dog/dog.h
> +++ b/dog/dog.h
> @@ -66,6 +66,7 @@ extern int sd_nodes_nr;
>
> bool is_current(const struct sd_inode *i);
> char *strnumber(uint64_t _size);
> +char *strnumber_raw(uint64_t _size, bool raw);
> typedef void (*vdi_parser_func_t)(uint32_t vid, const char *name,
> const char *tag, uint32_t snapid,
> uint32_t flags,
> diff --git a/dog/node.c b/dog/node.c
> index 71486a0..b2b1c86 100644
> --- a/dog/node.c
> +++ b/dog/node.c
> @@ -298,27 +298,31 @@ again:
> first = false;
> }
> printf("%s%"PRIu64"\t%"PRIu64"\t%"PRIu64"\t%"PRIu64"\t"
> - "%"PRIu64"\t%"PRIu64"\t%s\t%s\t%s\t%s\n",
> + "%"PRIu64"\t%"PRIu64"\t%s\t%s\t%s\t%s\t%s\n",
> raw_output ? "" :
>
> "Request\tActive\tTotal\tWrite\tRead\tRemove\tFlush\t"
> - "All WR\tAll RD\tWRBW\tRDBW\nClient\t",
> + "All WR\tAll RD\tWRBW\tRDBW\tRPS\nClient\t",
> stat.r.gway_active_nr, stat.r.gway_total_nr,
> - stat.r.gway_total_read_nr,
> stat.r.gway_total_write_nr,
> + stat.r.gway_total_write_nr,
> stat.r.gway_total_read_nr,
> stat.r.gway_total_remove_nr,
> stat.r.gway_total_flush_nr,
> strnumber(stat.r.gway_total_rx),
> strnumber(stat.r.gway_total_tx),
> strnumber(stat.r.gway_total_rx -
> last.r.gway_total_rx),
> - strnumber(stat.r.gway_total_tx -
> last.r.gway_total_tx));
> + strnumber(stat.r.gway_total_tx -
> last.r.gway_total_tx),
> + strnumber_raw(stat.r.gway_total_nr -
> + last.r.gway_total_nr, true));
> printf("%s%"PRIu64"\t%"PRIu64"\t%"PRIu64"\t%"PRIu64"\t"
> - "%"PRIu64"\t%"PRIu64"\t%s\t%s\t%s\t%s\n",
> + "%"PRIu64"\t%"PRIu64"\t%s\t%s\t%s\t%s\t%s\n",
> raw_output ? "" : "Peer\t",
> stat.r.peer_active_nr, stat.r.peer_total_nr,
> - stat.r.peer_total_read_nr,
> stat.r.peer_total_write_nr,
> + stat.r.peer_total_write_nr,
> stat.r.peer_total_read_nr,
> stat.r.peer_total_remove_nr, 0UL,
> strnumber(stat.r.peer_total_rx),
> strnumber(stat.r.peer_total_tx),
> strnumber(stat.r.peer_total_rx -
> last.r.peer_total_rx),
> - strnumber(stat.r.peer_total_tx -
> last.r.peer_total_tx));
> + strnumber(stat.r.peer_total_tx -
> last.r.peer_total_tx),
> + strnumber_raw(stat.r.peer_total_nr -
> + last.r.peer_total_nr, true));
> last = stat;
> sleep(1);
> goto again;
> --
> 1.8.1.2
>
> --
> sheepdog mailing list
> sheepdog at lists.wpkg.org
> http://lists.wpkg.org/mailman/listinfo/sheepdog
>
--
--
Best Regard
Robin Dong
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.wpkg.org/pipermail/sheepdog/attachments/20140108/811a2c93/attachment-0004.html>
More information about the sheepdog
mailing list