From da86e2d1dd8fe832a355ef7f5e774f3ee0b50d5e Mon Sep 17 00:00:00 2001 From: Jin Cai Date: Mon, 24 Jul 2017 17:56:41 +0800 Subject: [PATCH] msg/async/AsyncConnection: set the value of l_msgr_send_bytes to how much data has been sent successfully Signed-off-by: Jin Cai --- src/msg/async/AsyncConnection.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/msg/async/AsyncConnection.cc b/src/msg/async/AsyncConnection.cc index fa3c76725ea..6cdd419b7e4 100644 --- a/src/msg/async/AsyncConnection.cc +++ b/src/msg/async/AsyncConnection.cc @@ -2266,16 +2266,18 @@ ssize_t AsyncConnection::write_message(Message *m, bufferlist& bl, bool more) } m->trace.event("async writing message"); - logger->inc(l_msgr_send_bytes, outcoming_bl.length() - original_bl_len); ldout(async_msgr->cct, 20) << __func__ << " sending " << m->get_seq() << " " << m << dendl; + ssize_t total_send_size = outcoming_bl.length(); ssize_t rc = _try_send(more); if (rc < 0) { ldout(async_msgr->cct, 1) << __func__ << " error sending " << m << ", " << cpp_strerror(rc) << dendl; } else if (rc == 0) { + logger->inc(l_msgr_send_bytes, total_send_size - original_bl_len); ldout(async_msgr->cct, 10) << __func__ << " sending " << m << " done." << dendl; } else { + logger->inc(l_msgr_send_bytes, total_send_size - outcoming_bl.length()); ldout(async_msgr->cct, 10) << __func__ << " sending " << m << " continuely." << dendl; } if (m->get_type() == CEPH_MSG_OSD_OP) -- 2.47.3