From 3251c9f4e169f35d5f2410d777b848c49a91348a Mon Sep 17 00:00:00 2001 From: Ludovic Pouzenc Date: Mon, 15 Aug 2016 17:49:14 +0200 Subject: mcastleech: print dgrambuf stats at finalize_job state --- mcastseed/src/dgrambuf.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'mcastseed/src/dgrambuf.c') diff --git a/mcastseed/src/dgrambuf.c b/mcastseed/src/dgrambuf.c index 061ae30..9feda89 100644 --- a/mcastseed/src/dgrambuf.c +++ b/mcastseed/src/dgrambuf.c @@ -29,7 +29,6 @@ struct dgrambuf_stats_t { uint64_t dgrambuf_read_on_full; uint64_t recvmmsg_calls, recv_dgrams, recv_byte; uint64_t dgram_invalid, dgram_past, dgram_future, dgram_dup, dgram_end_marker; - uint64_t qsort_calls; uint64_t writev_calls, write_partial, write_byte; }; @@ -406,6 +405,24 @@ ssize_t dgrambuf_write(dgrambuf_t dbuf, int fd, int *info) { return nwrite; } +int dgrambuf_stats(dgrambuf_t dbuf, char **allocated_string) { + uint64_t dgram_pending = dgrambuf_get_used_count(dbuf); + uint64_t dgram_missing = dbuf->dgram_seq_last - (dbuf->dgram_seq_base - 1) - dgram_pending; + + return asprintf(allocated_string, + "dgrambuf_read_on_full==%d " + "recvmmsg_calls==%d, recv_dgrams==%d, recv_byte==%d, " + "dgram_invalid==%d, dgram_past==%d, dgram_future==%d, dgram_dup==%d, dgram_end_marker==%d, " + "writev_calls==%d, write_partial==%d, write_byte==%d " + "dgram_pending==%d, dgram_missing==%d", + dbuf->stats.dgrambuf_read_on_full, + dbuf->stats.recvmmsg_calls, dbuf->stats.recv_dgrams, dbuf->stats.recv_byte, + dbuf->stats.dgram_invalid, dbuf->stats.dgram_past, dbuf->stats.dgram_future, dbuf->stats.dgram_dup, dbuf->stats.dgram_end_marker, + dbuf->stats.writev_calls, dbuf->stats.write_partial, dbuf->stats.write_byte, + dgram_pending, dgram_missing + ); +} + dgrambuf_t dgrambuf_new(size_t dgram_slots, size_t dgram_max_size, size_t dgram_header_size, size_t iovec_slots) { const void **dgram_slot_seq_ptrs = NULL; -- cgit v1.2.3