diff options
author | rsiddharth <s@ricketyspace.net> | 2020-04-11 00:53:05 -0400 |
---|---|---|
committer | rsiddharth <s@ricketyspace.net> | 2020-04-17 20:56:37 -0400 |
commit | 20cac9c3c438aac49d1dcd87fec24c17bdcbfa8c (patch) | |
tree | a859980272fa1e0449d6188cc404f37a42ac2764 /nserver/src/stats.c | |
parent | d5cedc6f28a60301bad21a16fdb047fdb82ff883 (diff) |
nserver: Add Stats_stringify.
* nserver/src/stats.c (Stats_stringify): New function definition.
* nserver/src/stats.h (Stats_stringify): New function declaration.
* nserver/tests/stats_tests.c (test_tests_stringify): Test for
Stats_stringify.
Diffstat (limited to 'nserver/src/stats.c')
-rw-r--r-- | nserver/src/stats.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/nserver/src/stats.c b/nserver/src/stats.c index 0b793f8..6edf458 100644 --- a/nserver/src/stats.c +++ b/nserver/src/stats.c @@ -65,3 +65,25 @@ char *Stats_dump(Stats *st) error: return NULL; } + +char *Stats_stringify(Stats *st) +{ + size_t stats_str_len = 80; + + // allocate space for stringified stats. + char *stats_str = calloc(stats_str_len, sizeof(char)); + check_mem(stats_str); + + // stringify the stats + int rc = snprintf(stats_str, stats_str_len, + "%.2f::%.2f::%ld::%.2f::%.2f", + st->sum, st->sumsq, st->n, st->min, st->max); + check(rc > 0, "stringify stats failed"); + + return stats_str; + error: + if (stats_str) { + free(stats_str); + } + return NULL; +} |