accounting: Make checkers show what they are doing
Before this change, all types of checkers showed "checking" after the file name despite the fact that not all of them were checking. After this change, they can show - checking - deleting - hashing - importing - listing - merging - moving - renaming See: https://forum.rclone.org/t/what-is-rclone-checking-during-a-purge/35931/
This commit is contained in:
@@ -689,8 +689,8 @@ func (s *StatsInfo) RetryAfter() time.Time {
|
||||
}
|
||||
|
||||
// NewCheckingTransfer adds a checking transfer to the stats, from the object.
|
||||
func (s *StatsInfo) NewCheckingTransfer(obj fs.DirEntry) *Transfer {
|
||||
tr := newCheckingTransfer(s, obj)
|
||||
func (s *StatsInfo) NewCheckingTransfer(obj fs.DirEntry, what string) *Transfer {
|
||||
tr := newCheckingTransfer(s, obj, what)
|
||||
s.checking.add(tr)
|
||||
return tr
|
||||
}
|
||||
@@ -720,7 +720,7 @@ func (s *StatsInfo) NewTransfer(obj fs.DirEntry) *Transfer {
|
||||
|
||||
// NewTransferRemoteSize adds a transfer to the stats based on remote and size.
|
||||
func (s *StatsInfo) NewTransferRemoteSize(remote string, size int64) *Transfer {
|
||||
tr := newTransferRemoteSize(s, remote, size, false)
|
||||
tr := newTransferRemoteSize(s, remote, size, false, "")
|
||||
s.transferring.add(tr)
|
||||
s.startAverageLoop()
|
||||
return tr
|
||||
|
||||
@@ -50,6 +50,7 @@ type Transfer struct {
|
||||
size int64
|
||||
startedAt time.Time
|
||||
checking bool
|
||||
what string // what kind of transfer this is
|
||||
|
||||
// Protects all below
|
||||
//
|
||||
@@ -63,22 +64,23 @@ type Transfer struct {
|
||||
}
|
||||
|
||||
// newCheckingTransfer instantiates new checking of the object.
|
||||
func newCheckingTransfer(stats *StatsInfo, obj fs.DirEntry) *Transfer {
|
||||
return newTransferRemoteSize(stats, obj.Remote(), obj.Size(), true)
|
||||
func newCheckingTransfer(stats *StatsInfo, obj fs.DirEntry, what string) *Transfer {
|
||||
return newTransferRemoteSize(stats, obj.Remote(), obj.Size(), true, what)
|
||||
}
|
||||
|
||||
// newTransfer instantiates new transfer.
|
||||
func newTransfer(stats *StatsInfo, obj fs.DirEntry) *Transfer {
|
||||
return newTransferRemoteSize(stats, obj.Remote(), obj.Size(), false)
|
||||
return newTransferRemoteSize(stats, obj.Remote(), obj.Size(), false, "")
|
||||
}
|
||||
|
||||
func newTransferRemoteSize(stats *StatsInfo, remote string, size int64, checking bool) *Transfer {
|
||||
func newTransferRemoteSize(stats *StatsInfo, remote string, size int64, checking bool, what string) *Transfer {
|
||||
tr := &Transfer{
|
||||
stats: stats,
|
||||
remote: remote,
|
||||
size: size,
|
||||
startedAt: time.Now(),
|
||||
checking: checking,
|
||||
what: what,
|
||||
}
|
||||
stats.AddTransfer(tr)
|
||||
return tr
|
||||
|
||||
@@ -110,10 +110,14 @@ func (tm *transferMap) String(ctx context.Context, progress *inProgress, exclude
|
||||
if acc := progress.get(tr.remote); acc != nil {
|
||||
out = acc.String()
|
||||
} else {
|
||||
what := tr.what
|
||||
if what == "" {
|
||||
what = tm.name
|
||||
}
|
||||
out = fmt.Sprintf("%*s: %s",
|
||||
ci.StatsFileNameLength,
|
||||
shortenName(tr.remote, ci.StatsFileNameLength),
|
||||
tm.name,
|
||||
what,
|
||||
)
|
||||
}
|
||||
stringList = append(stringList, " * "+out)
|
||||
|
||||
Reference in New Issue
Block a user