Repository navigation
v0.16.0
Follow-up to the issue #2 rerun on VBR 13.1.1.18, where a complete 123-backup
ranking took 21 minutes (4 s of it local CPU) and needed a 300 s timeout.
Added
- Scope for
backup_storage_ranking:backups(ids or names — a backup is
named after its job) andrepository(id or name); CLI--backup(repeatable)
and--repository. Filtered locally, since/backupshas no repository
filter. A scope matching nothing is an error rather than an empty ranking. New
payload fieldsscoped,scope,backupsInScope;backupsTruncatedis now
measured against the scope, and a scoped ranking carries a caveat (CLI:
SCOPED) because it is not an estate-wide ranking. - Parallel reads, opt-in:
concurrency(1–8, default 1; CLI
--concurrency). Sequential by default because parallel reads are
unmeasured on a real VBR, whose server is already the bottleneck. The payload
is identical at any concurrency, a hard error in one read returns at once,
and token renewal is serialised so parallel requests meeting an expired
token log in once. - Progress for
veeam-aiops backup rankingon stderr, so--jsonstays
parseable. - Unmatched owners are looked up: a file naming an owner its own backup does
not list is resolved once per id through/backupObjects/{id}. When the
server knows the object (typically a machine moved to another job) its bytes
are charged to that machine and counted inrecoveredOwnerStoredBytes;
otherwise they stay inunmatchedOwnerStoredBytes.unmatchedOwnersreports
each id'sresolution(largest first, at most 50 entries, with
unmatchedOwnersTotal/unmatchedOwnersTruncated);ownerLookupsSkipped
counts ids past the 200-lookup budget, which get their own caveat instead of
the namespace one. - Scale-out repository names are matched by the repository scope and shown
bybackup_object_storage_usage. - Timeouts are named as such in the ranking:
unreadableBackups[].timedOut,
a caveat and a CLI line pointing at the target'stimeoutin config.yaml.
VeeamApiError.timed_outexposes the same fact to any caller.
Changed
unmatchedOwnerFiles/unmatchedOwnerStoredBytesnow count only owners the
server could not resolve; resolved ones move torecoveredOwner*and into the
machine'sstoredBytes.unresolved*is still ownerless + unmatched, so it
drops against v0.15 by whatever was recovered. The chargeback criterion is
unchanged:unmatchedOwnerFilesmust be 0.
Fixed
- A backup the server lists without an id was skipped silently; it is now
reported inunreadableBackups. - A login that timed out was reported as an unreachable server; it now says it
timed out and is flaggedtimed_out. - An unreadable backup's error was cut at 200 characters without saying so; it
now ends with an ellipsis.