Add byte level details to list progress command (#503)
* Add byte level details to list progress command
This patch allows reporting the total number of bytes transferred during
a copy operation. However, it has a limitation that the reported value
is only updated after each table is copied. This is because we do not
update table summary files while the copy is in progress.
Changes include:
- 3 new fields in table summary structures:
- network.bytes: total number of bytes transmitted
- network.bytes-pretty: pretty printed form of network.bytes
- network.transmit-rate: pretty printed bytes transmitted per second
- Some new fields on the `pgcopydb list progress --json --summary`
command:
- steps[].network is a new field that exists for COPY step and has
the following fields:
- bytes: total number of bytes transmitted for all tables
- bytes-pretty: pretty printed form of bytes
- tables[].network is a new json value with the following fields:
- bytes: total number of bytes transmitted for table
- bytes-pretty: pretty printed form of bytes
- transmit-rate: pretty printed bytes transmitted per second
- A new column on top level summary that shows total number of bytes
copied.
* Address reviews
This commit addresses 2 issues raised in the review:
1. Using a SI standards when reporting data-rate units
2. Updating the relevant documentation with reproducible examples
The documentation update is done in a way that allowed me to run the
commands in a docker environment. Once I polish my changes in this
docker environment, I will update all the documentation with it and
share it in a separate PR.
* Use bit/s instead of byte/s for data-rate units
parent
c3418105
Please register or sign in to comment