mirror of
https://github.com/rclone/rclone
synced 2024-12-23 14:23:44 +01:00
accounting: Fix elapsed time not show actual time since beginning
This fixes the elapsed time display in the statistics output in the rc and in the log messages.
This commit is contained in:
parent
4f9a80e2d3
commit
8913679d88
@ -16,6 +16,8 @@ import (
|
|||||||
// MaxCompletedTransfers specifies maximum number of completed transfers in startedTransfers list
|
// MaxCompletedTransfers specifies maximum number of completed transfers in startedTransfers list
|
||||||
var MaxCompletedTransfers = 100
|
var MaxCompletedTransfers = 100
|
||||||
|
|
||||||
|
var startTime = time.Now()
|
||||||
|
|
||||||
// StatsInfo accounts all transfers
|
// StatsInfo accounts all transfers
|
||||||
type StatsInfo struct {
|
type StatsInfo struct {
|
||||||
mu sync.RWMutex
|
mu sync.RWMutex
|
||||||
@ -66,7 +68,8 @@ func (s *StatsInfo) RemoteStats() (out rc.Params, err error) {
|
|||||||
out["transfers"] = s.transfers
|
out["transfers"] = s.transfers
|
||||||
out["deletes"] = s.deletes
|
out["deletes"] = s.deletes
|
||||||
out["renames"] = s.renames
|
out["renames"] = s.renames
|
||||||
out["elapsedTime"] = s.totalDuration().Seconds()
|
out["transferTime"] = s.totalDuration().Seconds()
|
||||||
|
out["elapsedTime"] = time.Since(startTime).Seconds()
|
||||||
s.mu.RUnlock()
|
s.mu.RUnlock()
|
||||||
if !s.checking.empty() {
|
if !s.checking.empty() {
|
||||||
var c []string
|
var c []string
|
||||||
@ -248,9 +251,10 @@ func (s *StatsInfo) String() string {
|
|||||||
|
|
||||||
s.mu.RLock()
|
s.mu.RLock()
|
||||||
|
|
||||||
|
elapsedTime := time.Since(startTime)
|
||||||
|
elapsedTimeSecondsOnly := elapsedTime.Truncate(time.Second/10) % time.Minute
|
||||||
dt := s.totalDuration()
|
dt := s.totalDuration()
|
||||||
dtSeconds := dt.Seconds()
|
dtSeconds := dt.Seconds()
|
||||||
dtSecondsOnly := dt.Truncate(time.Second/10) % time.Minute
|
|
||||||
speed := 0.0
|
speed := 0.0
|
||||||
if dt > 0 {
|
if dt > 0 {
|
||||||
speed = float64(s.bytes) / dtSeconds
|
speed = float64(s.bytes) / dtSeconds
|
||||||
@ -332,7 +336,7 @@ func (s *StatsInfo) String() string {
|
|||||||
_, _ = fmt.Fprintf(buf, "Transferred: %10d / %d, %s\n",
|
_, _ = fmt.Fprintf(buf, "Transferred: %10d / %d, %s\n",
|
||||||
s.transfers, totalTransfer, percent(s.transfers, totalTransfer))
|
s.transfers, totalTransfer, percent(s.transfers, totalTransfer))
|
||||||
}
|
}
|
||||||
_, _ = fmt.Fprintf(buf, "Elapsed time: %10ss\n", strings.TrimRight(dt.Truncate(time.Minute).String(), "0s")+fmt.Sprintf("%.1f", dtSecondsOnly.Seconds()))
|
_, _ = fmt.Fprintf(buf, "Elapsed time: %10ss\n", strings.TrimRight(elapsedTime.Truncate(time.Minute).String(), "0s")+fmt.Sprintf("%.1f", elapsedTimeSecondsOnly.Seconds()))
|
||||||
}
|
}
|
||||||
|
|
||||||
// checking and transferring have their own locking so unlock
|
// checking and transferring have their own locking so unlock
|
||||||
|
@ -95,6 +95,7 @@ Returns the following values:
|
|||||||
"transfers": number of transferred files,
|
"transfers": number of transferred files,
|
||||||
"deletes" : number of deleted files,
|
"deletes" : number of deleted files,
|
||||||
"renames" : number of renamed files,
|
"renames" : number of renamed files,
|
||||||
|
"transferTime" : total time spent on running jobs,
|
||||||
"elapsedTime": time in seconds since the start of the process,
|
"elapsedTime": time in seconds since the start of the process,
|
||||||
"lastError": last occurred error,
|
"lastError": last occurred error,
|
||||||
"transferring": an array of currently active file transfers:
|
"transferring": an array of currently active file transfers:
|
||||||
|
Loading…
Reference in New Issue
Block a user