rclone-webui-react icon indicating copy to clipboard operation
rclone-webui-react copied to clipboard

Web GUI progress fields

Open odinian opened this issue 3 years ago • 3 comments

Hello. I've just started using the Web GUI, and I really like it! I'm doing a sync between my local drive and google drive, and the GUI is great for a progress report, except it could be better. stats logs a little more info that would be great to have in the GUI.

Here's what I can see using stats: Transferred: 1.195G / 62.546 GBytes, 2%, 464.619 kBytes/s, ETA 1d14h27m39s Checks: 4299 / 4299, 100% Transferred: 2 / 86, 2% Elapsed time: 45m1.4s

The Web GUI doesn't show the overall GB to be transferred and the overall progress (2% above), not does it who the overall ETA. Finally, it doesn't show to the total number of files to be transferred (86 above). It would be great to have stats in the dashboard of the web GUI. All the stuff in bold above is not shown in the GUI, but would be great if it were.

odinian avatar May 03 '21 04:05 odinian

Hi, @odinian Thanks for the suggestions. It would be great to have those displayed in stats. I am currently running low on bandwidth, would anyone like to take this up? @ncw can you suggest someone?

negative0 avatar May 03 '21 05:05 negative0

hi. Unfortunately, I'm not a programmer, so I don't know how to make this enhancement. It does appear that one may just need to add "totalTransfers" and "totalBytes" to the stats array in GlobalStatus in the RunningJobs.js file. Possible this:

function GlobalStatus({stats}) {
    const {speed, bytes, checks, elapsedTime, deletes, errors, transfers, lastError, totalTransfers, totalBytes} = stats;
    return (
        <Card>
            <CardHeader><strong>Global Stats</strong></CardHeader>
            <CardBody>
                <table className="table">
                    <tbody>
                    <tr>
                        <td className="card-subtitle">Bytes Transferred:</td>
                        <td className="card-text">{formatBytes(bytes)}</td>
                    </tr>
                    <tr>
                        <td className="card-subtitle">Total to Transfer:</td>
                        <td className="card-text">{formatBytes(totalBytes)}</td>
                    </tr>
                    <tr>
                        <td className="card-subtitle">Average Speed:</td>
                        <td className="card-text">{formatBytes(speed)}PS</td>
                    </tr>
                    <tr>
                        <td className="card-subtitle">Checks:</td>
                        <td className="card-text">{checks}</td>
                    </tr>
                    <tr>
                        <td className="card-subtitle">Deletes:</td>
                        <td className="card-text">{deletes}</td>
                    </tr>
                    <tr>
                        <td className="card-subtitle">Running since:</td>
                        <td className="card-text">{secondsToStr(elapsedTime)}</td>
                    </tr>
                    <tr className={errors > 0 ? "table-danger" : ""}>
                        <td className="card-subtitle">Errors:</td>
                        <td className="card-text">{errors}</td>
                    </tr>
                    <tr>
                        <td className="card-subtitle">Transfers:</td>
                        <td className="card-text">{transfers}</td>
                    </tr>
					<tr>
                        <td className="card-subtitle">Total to Transer:</td>
                        <td className="card-text">{totalTransfers}</td>
                    </tr>
                    <tr>
                        <td className="card-subtitle">Last Error:</td>
                        <td className="card-text">{lastError}</td>
                    </tr>

                    </tbody>
                </table>

            </CardBody>
            {/*<CardFooter></CardFooter>*/}

        </Card>);
}

odinian avatar Sep 30 '21 19:09 odinian

For this rclone issue, the following parameters were exposed to the REST API, and can be displayed via an rclone rc core/stats command. It would be nice to display them in the web-UI, especially useful for sync operations (might be put in a dedicated sync tab?)

- totalChecks - total number of checks needed in sync
- totalTransfers - total number of transfers needed in sync
- totalBytes - total number of bytes to transfer in sync
- eta - eta of sync in seconds
rclone rc job/list --rc-addr=:5572 --rc-no-auth
rclone rc core/stats 

jo-chemla avatar Dec 07 '23 16:12 jo-chemla