https://github.com/usausa/platform-info
https://github.com/usausa/platform-info
Last synced: 4 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/usausa/platform-info
- Owner: usausa
- License: mit
- Created: 2025-04-19T10:17:39.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2025-04-29T03:03:36.000Z (21 days ago)
- Last Synced: 2025-04-29T03:44:44.972Z (21 days ago)
- Language: C#
- Size: 43 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# platform-info
## Linux
[](https://www.nuget.org/packages/PlatformInfo.Linux)
### Uptime
```csharp
var uptime = LinuxPlatform.GetUptime();
Console.WriteLine($"Uptime: {uptime.Uptime}");
```### Statics
```csharp
var statics = LinuxPlatform.GetStatics();
Console.WriteLine($"Interrupt: {statics.Interrupt}");
Console.WriteLine($"ContextSwitch: {statics.ContextSwitch}");
Console.WriteLine($"SoftIrq: {statics.SoftIrq}");
Console.WriteLine($"ProcessRunning: {statics.ProcessRunning}");
Console.WriteLine($"ProcessBlocked: {statics.ProcessBlocked}");Console.WriteLine($"User: {statics.CpuTotal.User}");
Console.WriteLine($"Nice: {statics.CpuTotal.Nice}");
Console.WriteLine($"System: {statics.CpuTotal.System}");
Console.WriteLine($"Idle: {statics.CpuTotal.Idle}");
Console.WriteLine($"IoWait: {statics.CpuTotal.IoWait}");
Console.WriteLine($"Irq: {statics.CpuTotal.Irq}");
Console.WriteLine($"SoftIrq: {statics.CpuTotal.SoftIrq}");
Console.WriteLine($"Steal: {statics.CpuTotal.Steal}");
Console.WriteLine($"Guest: {statics.CpuTotal.Guest}");
Console.WriteLine($"GuestNice: {statics.CpuTotal.GuestNice}");
```### LoadAverage
```csharp
var load = LinuxPlatform.GetLoadAverage();
Console.WriteLine($"Average1: {load.Average1:F2}");
Console.WriteLine($"Average5: {load.Average5:F2}");
Console.WriteLine($"Average15: {load.Average15:F2}");
```### Memory
```csharp
var memory = LinuxPlatform.GetMemory();
Console.WriteLine($"Total: {memory.Total}");
Console.WriteLine($"Free: {memory.Free}");
Console.WriteLine($"Buffers: {memory.Buffers}");
Console.WriteLine($"Cached: {memory.Cached}");
Console.WriteLine($"Usage: {(int)Math.Ceiling(memory.Usage)}");
```### VirtualMemory
```csharp
var vm = LinuxPlatform.GetVirtualMemory();
Console.WriteLine($"PageIn: {vm.PageIn}");
Console.WriteLine($"PageOut: {vm.PageOut}");
Console.WriteLine($"SwapIn: {vm.SwapIn}");
Console.WriteLine($"SwapOut: {vm.SwapOut}");
Console.WriteLine($"PageFault: {vm.PageFault}");
Console.WriteLine($"MajorPageFault: {vm.MajorPageFault}");
Console.WriteLine($"OutOfMemoryKiller: {vm.OutOfMemoryKiller}");
```### Partition
```csharp
var partitions = LinuxPlatform.GetPartitions();
foreach (var partition in partitions)
{
var drive = new DriveInfo(partition.MountPoints[0]);
var used = drive.TotalSize - drive.TotalFreeSpace;
var available = drive.AvailableFreeSpace;
var usage = (int)Math.Ceiling((double)used / (available + used) * 100);Console.WriteLine($"Name: {partition.Name}");
Console.WriteLine($"MountPoint: {String.Join(' ', partition.MountPoints)}");
Console.WriteLine($"TotalSize: {drive.TotalSize / 1024}");
Console.WriteLine($"UsedSize: {used / 1024}");
Console.WriteLine($"AvailableSize: {available / 1024}");
Console.WriteLine($"Usage: {usage}");
}
```### DiskStatics
```csharp
var disk = LinuxPlatform.GetDiskStatics();
foreach (var device in disk.Devices)
{
Console.WriteLine($"Name: {device.Name}");
Console.WriteLine($"ReadCompleted: {device.ReadCompleted}");
Console.WriteLine($"ReadMerged: {device.ReadMerged}");
Console.WriteLine($"ReadSectors: {device.ReadSectors}");
Console.WriteLine($"ReadTime: {device.ReadTime}");
Console.WriteLine($"WriteCompleted: {device.WriteCompleted}");
Console.WriteLine($"WriteMerged: {device.WriteMerged}");
Console.WriteLine($"WriteSectors: {device.WriteSectors}");
Console.WriteLine($"WriteTime: {device.WriteTime}");
Console.WriteLine($"IosInProgress: {device.IosInProgress}");
Console.WriteLine($"IoTime: {device.IoTime}");
Console.WriteLine($"WeightIoTime: {device.WeightIoTime}");
}
```### FileDescriptor
```csharp
var fd = LinuxPlatform.GetFileDescriptor();
Console.WriteLine($"Allocated: {fd.Allocated}");
Console.WriteLine($"Used: {fd.Used}");
Console.WriteLine($"Max: {fd.Max}");
```### NetworkStatic
```csharp
var network = LinuxPlatform.GetNetworkStatic();
foreach (var nif in network.Interfaces)
{
Console.WriteLine($"Interface: {nif.Interface}");
Console.WriteLine($"RxBytes: {nif.RxBytes}");
Console.WriteLine($"RxPackets: {nif.RxPackets}");
Console.WriteLine($"RxErrors: {nif.RxErrors}");
Console.WriteLine($"RxDropped: {nif.RxDropped}");
Console.WriteLine($"RxFifo: {nif.RxFifo}");
Console.WriteLine($"RxFrame: {nif.RxFrame}");
Console.WriteLine($"RxCompressed: {nif.RxCompressed}");
Console.WriteLine($"RxMulticast: {nif.RxMulticast}");
Console.WriteLine($"TxBytes: {nif.TxBytes}");
Console.WriteLine($"TxPackets: {nif.TxPackets}");
Console.WriteLine($"TxErrors: {nif.TxErrors}");
Console.WriteLine($"TxDropped: {nif.TxDropped}");
Console.WriteLine($"TxFifo: {nif.TxFifo}");
Console.WriteLine($"TxCollisions: {nif.TxCollisions}");
Console.WriteLine($"TxCarrier: {nif.TxCarrier}");
Console.WriteLine($"TxCompressed: {nif.TxCompressed}");
}
```### Tcp/Tcp6
```csharp
var tcp = LinuxPlatform.GetTcp();
var tcp6 = LinuxPlatform.GetTcp6();
Console.WriteLine($"Established: {tcp.Established}");
Console.WriteLine($"SynSent: {tcp.SynSent}");
Console.WriteLine($"SynRecv: {tcp.SynRecv}");
Console.WriteLine($"FinWait1: {tcp.FinWait1}");
Console.WriteLine($"FinWait2: {tcp.FinWait2}");
Console.WriteLine($"TimeWait: {tcp.TimeWait}");
Console.WriteLine($"Close: {tcp.Close}");
Console.WriteLine($"CloseWait: {tcp.CloseWait}");
Console.WriteLine($"LastAck: {tcp.LastAck}");
Console.WriteLine($"Listen: {tcp.Listen}");
Console.WriteLine($"Closing: {tcp.Closing}");
Console.WriteLine($"Total: {tcp.Total}");
```### ProcessSummary
```csharp
var process = LinuxPlatform.GetProcessSummary();
Console.WriteLine($"ProcessCount: {process.ProcessCount}");
Console.WriteLine($"ThreadCount: {process.ThreadCount}");
```### Cpu
```csharp
var cpu = LinuxPlatform.GetCpu();
Console.WriteLine("Frequency");
foreach (var core in cpu.Cores)
{
Console.WriteLine($"{core.Name}: {core.Frequency}");
}if (cpu.Powers.Count > 0)
{
Console.WriteLine("Power");
foreach (var power in cpu.Powers)
{
Console.WriteLine($"{power.Name}: {power.Energy / 1000.0}");
}
}
```### Battery
```csharp
var battery = LinuxPlatform.GetBattery();
if (battery.Supported)
{
Console.WriteLine($"Capacity: {battery.Capacity}");
Console.WriteLine($"Status: {battery.Status}");
Console.WriteLine($"Voltage: {battery.Voltage / 1000.0:F2}");
Console.WriteLine($"Current: {battery.Current / 1000.0:F2}");
Console.WriteLine($"Charge: {battery.Charge / 1000.0:F2}");
Console.WriteLine($"ChargeFull: {battery.ChargeFull / 1000.0:F2}");
}
else
{
Console.WriteLine("No battery found");
}
```### MainsAdapter
```csharp
var adapter = LinuxPlatform.GetMainsAdapter();
if (adapter.Supported)
{
Console.WriteLine($"Online: {adapter.Online}");
}
else
{
Console.WriteLine("No adapter found");
}
```### HardwareMonitor
```csharp
var monitors = LinuxPlatform.GetHardwareMonitors();
foreach (var monitor in monitors)
{
Console.WriteLine($"Monitor: {monitor.Type}");
Console.WriteLine($"Name: {monitor.Name}");
foreach (var sensor in monitor.Sensors)
{
Console.WriteLine($"Sensor: {sensor.Type}");
Console.WriteLine($"Label: {sensor.Label}");
Console.WriteLine($"Value: {sensor.Value}");
}
}
```### TODO
- [ ] SMART?
- [ ] Docker## Darwin
(TODO)