24 lines
703 B
C#
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) { }
|
|
}
|
|
}
|