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) { }
|
|||
|
}
|
|||
|
}
|