averageRate property
DataRate?
get
averageRate
Calculates the average rate between consecutive samples.
Requires trackTimestamps to be enabled.
Implementation
DataRate? get averageRate {
if (_timestamps.length < 2) return null;
double totalBytesPerSecond = 0;
int intervals = 0;
for (var i = 1; i < _samples.length; i++) {
final duration = _timestamps[i].difference(_timestamps[i - 1]);
if (duration.inMicroseconds > 0) {
final bytesPerSecond =
_samples[i].bytes / (duration.inMicroseconds / 1000000);
totalBytesPerSecond += bytesPerSecond;
intervals++;
}
}
if (intervals == 0) return null;
return DataRate.bytesPerSecond(totalBytesPerSecond / intervals);
}