Looking for a way to get approximate data transfer speed for a completed job, probably by checking server-side logs to see the length of time a job ran for and the total amount of data transferred, probably by checking associated VIB file size.
I know that's not very exact due to all the different steps in a job, something that compares the timestamps on logs for the actual "sending data from the agent to the server" part of the logs could be useful, but I'm not super familiar with the logs kept on the VBR server so I'm not sure how doable that is.
Anyone by chance have a script already that does something along those lines? Looking for a good way to find transfer speeds without additional client-side software. Currently I can do some basic math based on agent logs, checking the time data transfer to the server started and finished and comparing that with the VIB file size to get an approximation, but I'd like something that's more accurate if possible and can be done in bulk for hundreds of agents.
-
- Service Provider
- Posts: 449
- Liked: 90 times
- Joined: Apr 29, 2022 2:41 pm
- Full Name: Tim
- Contact:
-
- Veeam Software
- Posts: 2355
- Liked: 556 times
- Joined: Jun 28, 2016 12:12 pm
- Contact:
Re: Approximate Job Transfer Speed from Logs
Hi @eSiloTim,
Can you check if the Progress property on Get-VBRTaskSession results helps you?
(Note: I use a little cheat in my code with FindLastSession(); it's an unsupported method, but it should be "safe" to use in most cases. The right way to do it is with Get-VBRBackupSession, but for convenience I just used FindLastSession()
I suppose you can use the total size and calculate the processing time with the Start/StopTimeLocal values and just calculate the approximate speed.
Can you check if the Progress property on Get-VBRTaskSession results helps you?
(Note: I use a little cheat in my code with FindLastSession(); it's an unsupported method, but it should be "safe" to use in most cases. The right way to do it is with Get-VBRBackupSession, but for convenience I just used FindLastSession()
I suppose you can use the total size and calculate the processing time with the Start/StopTimeLocal values and just calculate the approximate speed.
Code: Select all
PS C:\temp> $job = Get-VBRJob -name 'vmware-ffi-cap-bb'
PS C:\temp> $BSess = $job.FindLastSession()
PS C:\temp> $TSess = Get-VBRTaskSession -Session $BSess
PS C:\temp> $Tsess
Name Status Operation
---- ------ ---------
ddom-tinyvm Warning
PS C:\temp> $Tsess.Progress
PercentCalculation : BySize
SetTotalToProcessedOnComplete : True
TotalObjects : 7
TotalObjectsDelta : 0
TotalObjectsCalculationCompleted : False
ProcessedObjects : 7
ProcessedSize : 1073741824
ProcessedUsedSize : 1048576
ReadSize : 0
ReadedAverageSize : 0
TransferedSize : 32
ProcessedDelta : 0
ProcessedUsedDelta : 0
ReadDelta : 0
ReadedAverageDelta : 0
TransferedDelta : 0
StartTimeLocal : 5/26/2023 8:00:32 AM
StopTimeLocal : 5/26/2023 8:02:00 AM
StartTimeUtc : 5/26/2023 5:00:32 AM
StopTimeUtc : 5/26/2023 5:02:00 AM
Percents : 100
AvgSpeed : 0
BottleneckInfo : Veeam.Backup.Model.CBottleneckInfo
TotalSize : 1073741824
TotalUsedSize : 1048576
UsedSpaceRation : 0
TotalSizeDelta : 0
TotalUsedSizeDelta : 0
Duration : 00:01:28
Updates : Veeam.Backup.Model.CBackupProgressUpdates
IsNeedSubstractReadDelay : False
UseFastAvgSpeedCalculation : False
AppendToLastProcessingInterval : False
David Domask | Product Management: Principal Analyst
Who is online
Users browsing this forum: No registered users and 14 guests