winmr-api/Services/Scanners/AbstractCpuScanner.cs
2025-07-03 15:22:40 +03:00

24 lines
703 B
C#

// File: Services/Scanners/AbstractCpuScanner.cs
using WebmrAPI.Utils;
namespace WebmrAPI.Services.Scanners
{
public abstract class AbstractCpuScanner<T> : AbstractScanner<T> where T : new()
{
public static double CalcCpuUsage(double pTime, double elapsed)
{
double cpuUsage = 0;
if (elapsed > 0)
{
cpuUsage = (pTime / elapsed) / Environment.ProcessorCount * 100.0;
if (cpuUsage > 100.0) cpuUsage = 100.0;
}
return cpuUsage;
}
public AbstractCpuScanner(IScanProvider scanner, LazyConcurrentContainer<T> container)
: base(scanner, container) { }
}
}