mirror of https://github.com/borgbackup/borg.git
Merge pull request #2210 from enkore/f/rxtx
RemoteRepository: account rx/tx bytes
This commit is contained in:
commit
5c46136433
|
@ -507,6 +507,8 @@ class RemoteRepository:
|
|||
self.location = self._location = location
|
||||
self.preload_ids = []
|
||||
self.msgid = 0
|
||||
self.rx_bytes = 0
|
||||
self.tx_bytes = 0
|
||||
self.to_send = b''
|
||||
self.chunkid_to_msgids = {}
|
||||
self.ignore_responses = set()
|
||||
|
@ -607,6 +609,8 @@ This problem will go away as soon as the server has been upgraded to 1.0.7+.
|
|||
# in any case, we want to cleanly close the repo, even if the
|
||||
# rollback can not succeed (e.g. because the connection was
|
||||
# already closed) and raised another exception:
|
||||
logger.debug('RemoteRepository: %d bytes sent, %d bytes received, %d messages sent',
|
||||
self.tx_bytes, self.rx_bytes, self.msgid)
|
||||
self.close()
|
||||
|
||||
@property
|
||||
|
@ -728,6 +732,7 @@ This problem will go away as soon as the server has been upgraded to 1.0.7+.
|
|||
data = os.read(fd, BUFSIZE)
|
||||
if not data:
|
||||
raise ConnectionClosed()
|
||||
self.rx_bytes += len(data)
|
||||
self.unpacker.feed(data)
|
||||
for unpacked in self.unpacker:
|
||||
if isinstance(unpacked, dict):
|
||||
|
@ -752,6 +757,7 @@ This problem will go away as soon as the server has been upgraded to 1.0.7+.
|
|||
data = os.read(fd, 32768)
|
||||
if not data:
|
||||
raise ConnectionClosed()
|
||||
self.rx_bytes += len(data)
|
||||
data = data.decode('utf-8')
|
||||
for line in data.splitlines(keepends=True):
|
||||
handle_remote_line(line)
|
||||
|
@ -785,7 +791,9 @@ This problem will go away as soon as the server has been upgraded to 1.0.7+.
|
|||
|
||||
if self.to_send:
|
||||
try:
|
||||
self.to_send = self.to_send[self.ratelimit.write(self.stdin_fd, self.to_send):]
|
||||
written = self.ratelimit.write(self.stdin_fd, self.to_send)
|
||||
self.tx_bytes += written
|
||||
self.to_send = self.to_send[written:]
|
||||
except OSError as e:
|
||||
# io.write might raise EAGAIN even though select indicates
|
||||
# that the fd should be writable
|
||||
|
|
Loading…
Reference in New Issue