FreeBSD: implement Platform_getDiskIO()

This commit is contained in:
Christian Goettsche
2020-10-21 17:06:32 +02:00
committed by cgzones
parent c91061c84b
commit c2fdfd99eb
17 changed files with 87 additions and 59 deletions

View File

@ -44,23 +44,24 @@ static void DiskIOMeter_updateValues(Meter* this, char* buffer, int len) {
if (passedTimeInMs > 500) {
cached_last_update = timeInMilliSeconds;
unsigned long int bytesRead, bytesWrite, msTimeSpend;
DiskIOData data;
hasData = Platform_getDiskIO(&bytesRead, &bytesWrite, &msTimeSpend);
hasData = Platform_getDiskIO(&data);
if (!hasData) {
this->values[0] = 0;
xSnprintf(buffer, len, "no data");
return;
}
cached_read_diff = (bytesRead - cached_read_total) / 1024; /* Meter_humanUnit() expects unit in kilo */
cached_read_total = bytesRead;
cached_read_diff = (data.totalBytesRead - cached_read_total) / 1024; /* Meter_humanUnit() expects unit in kilo */
cached_read_total = data.totalBytesRead;
cached_write_diff = (bytesWrite - cached_write_total) / 1024; /* Meter_humanUnit() expects unit in kilo */
cached_write_total = bytesWrite;
cached_write_diff = (data.totalBytesWritten - cached_write_total) / 1024; /* Meter_humanUnit() expects unit in kilo */
cached_write_total = data.totalBytesWritten;
cached_utilisation_diff = 100 * (double)(msTimeSpend - cached_msTimeSpend_total) / passedTimeInMs;
cached_msTimeSpend_total = msTimeSpend;
cached_utilisation_diff = 100 * (double)(data.totalMsTimeSpend - cached_msTimeSpend_total) / passedTimeInMs;
cached_msTimeSpend_total = data.totalMsTimeSpend;
}
this->values[0] = cached_utilisation_diff;