Initial commit
This commit is contained in:
44
QemuVmManager.Models/VmStatus.cs
Normal file
44
QemuVmManager.Models/VmStatus.cs
Normal file
@@ -0,0 +1,44 @@
|
||||
namespace QemuVmManager.Models;
|
||||
|
||||
public enum VmState
|
||||
{
|
||||
Stopped,
|
||||
Starting,
|
||||
Running,
|
||||
Paused,
|
||||
Stopping,
|
||||
Error
|
||||
}
|
||||
|
||||
public class VmStatus
|
||||
{
|
||||
public string Name { get; set; } = string.Empty;
|
||||
public VmState State { get; set; } = VmState.Stopped;
|
||||
public int ProcessId { get; set; } = -1;
|
||||
public DateTime? StartedAt { get; set; }
|
||||
public DateTime? StoppedAt { get; set; }
|
||||
public string? ErrorMessage { get; set; }
|
||||
public VmResourceUsage? ResourceUsage { get; set; }
|
||||
}
|
||||
|
||||
public class VmResourceUsage
|
||||
{
|
||||
public double CpuUsage { get; set; } = 0.0; // Percentage
|
||||
public long MemoryUsage { get; set; } = 0; // MB
|
||||
public long DiskUsage { get; set; } = 0; // MB
|
||||
public long NetworkRx { get; set; } = 0; // Bytes
|
||||
public long NetworkTx { get; set; } = 0; // Bytes
|
||||
}
|
||||
|
||||
public class VmPerformanceMetrics
|
||||
{
|
||||
public DateTime Timestamp { get; set; }
|
||||
public int ProcessId { get; set; }
|
||||
public double CpuUsagePercent { get; set; }
|
||||
public double SystemCpuUsagePercent { get; set; }
|
||||
public long MemoryUsageMB { get; set; }
|
||||
public long PrivateMemoryMB { get; set; }
|
||||
public long VirtualMemoryMB { get; set; }
|
||||
public int ThreadCount { get; set; }
|
||||
public int HandleCount { get; set; }
|
||||
}
|
Reference in New Issue
Block a user