@@ -576,8 +576,11 @@ List<NetSpeedPart> _parseWindowsNetwork(String raw, int currentTime) {
576576 final time2 = (s2['Timestamp_Sys100NS' ] as num ? )? .toDouble () ?? 0 ;
577577 final timeDelta = (time2 - time1) / 10000000 ;
578578 if (timeDelta <= 0 ) continue ;
579- final rxSpeed = ((rx2 - rx1) / timeDelta).abs ();
580- final txSpeed = ((tx2 - tx1) / timeDelta).abs ();
579+ final rxDelta = rx2 - rx1;
580+ final txDelta = tx2 - tx1;
581+ if (rxDelta < 0 || txDelta < 0 ) continue ;
582+ final rxSpeed = rxDelta / timeDelta;
583+ final txSpeed = txDelta / timeDelta;
581584 netParts.add (
582585 NetSpeedPart (name, BigInt .from (rxSpeed.toInt ()), BigInt .from (txSpeed.toInt ()), currentTime),
583586 );
@@ -619,8 +622,11 @@ List<DiskIOPiece> _parseWindowsDiskIO(String raw, int currentTime) {
619622 final time2 = (s2['Timestamp_Sys100NS' ] as num ? )? .toDouble () ?? 0 ;
620623 final timeDelta = (time2 - time1) / 10000000 ;
621624 if (timeDelta <= 0 ) continue ;
622- final readSpeed = ((read2 - read1) / timeDelta).abs ();
623- final writeSpeed = ((write2 - write1) / timeDelta).abs ();
625+ final readDelta = read2 - read1;
626+ final writeDelta = write2 - write1;
627+ if (readDelta < 0 || writeDelta < 0 ) continue ;
628+ final readSpeed = readDelta / timeDelta;
629+ final writeSpeed = writeDelta / timeDelta;
624630 final sectorsRead = (readSpeed / 512 ).round ();
625631 final sectorsWrite = (writeSpeed / 512 ).round ();
626632
0 commit comments