diff options
author | Christian Goettsche <cgzones@googlemail.com> | 2020-10-21 17:06:32 +0200 |
---|---|---|
committer | cgzones <cgzones@googlemail.com> | 2020-10-29 22:21:42 +0100 |
commit | c2fdfd99eb5bffee0f6d1e1838fb4708eac18425 (patch) | |
tree | eee28e177708eb99f14c6aa6f67f818daaf69e18 /DiskIOMeter.c | |
parent | c91061c84bcce51934f05df7a7ee4d219f01bc71 (diff) |
FreeBSD: implement Platform_getDiskIO()
Diffstat (limited to 'DiskIOMeter.c')
-rw-r--r-- | DiskIOMeter.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/DiskIOMeter.c b/DiskIOMeter.c index 9f311653..21696a33 100644 --- a/DiskIOMeter.c +++ b/DiskIOMeter.c @@ -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; |