ZenMonitor.Core.Linux 2.0.0-alpha.9

This is a prerelease version of ZenMonitor.Core.Linux.
dotnet add package ZenMonitor.Core.Linux --version 2.0.0-alpha.9
                    
NuGet\Install-Package ZenMonitor.Core.Linux -Version 2.0.0-alpha.9
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ZenMonitor.Core.Linux" Version="2.0.0-alpha.9" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ZenMonitor.Core.Linux" Version="2.0.0-alpha.9" />
                    
Directory.Packages.props
<PackageReference Include="ZenMonitor.Core.Linux" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add ZenMonitor.Core.Linux --version 2.0.0-alpha.9
                    
#r "nuget: ZenMonitor.Core.Linux, 2.0.0-alpha.9"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package ZenMonitor.Core.Linux@2.0.0-alpha.9
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=ZenMonitor.Core.Linux&version=2.0.0-alpha.9&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=ZenMonitor.Core.Linux&version=2.0.0-alpha.9&prerelease
                    
Install as a Cake Tool

ZenMonitor.Core

ZenMonitor.Core on GitHub | ZenMonitor.Core on NuGet

ZenMonitor.Core.Linux

The Linux library of ZenMonitor.Core provides all concrete implementations and services specific to Linux.

This library is not meant to be used directly. Use ZenMonitor.Core.Hosting to automatically register all Linux services. Read its README for instructions.


Documentation

Major docs are all present in ZenMonitor.Core. This includes data structures, interfaces, project status and more.

It's highly recommended to read them first.

All services implement the interfaces in ZenMonitor.Core.Abstractions and use its pre-defined records as data structures.

They also have dependencies which allow them to allow testing and logging with ease.

Example:

[SupportedOSPlatform("linux")]
public class CpuTel(ILogger<CpuTel> logger, IFileSystem fileSystem, IUtilsLinux utils) : ICpuTel
{
    private CpuInfoSnapshot _snapshot = new("", 0, 0, 0, 0, [], [], []);

    ...
}
  • Data Sources

    All Linux related data is retrieved via reading virtual files in /proc, /sys and others or reading stdout/stderr.

    Telemetry Service Data Sources
    CpuTel /proc/cpuinfo, /proc/stat, /sys/class/hwmon, /sys/class/powercap (RAPL)
    DriveTel df -T -B1, /proc/diskstats
    GpuTelNvidia nvidia-smi CLI tool
    GpuTelAmd planned /sys/class/drm/card*/device/hwmon
    MemoryTel /proc/meminfo
    NetworkTel /proc/net/dev, /sys/class/net/*/operstate
    ProcessTel /proc/[pid]/status, /proc/[pid]/stat, /proc/[pid]/cmdline, /etc/passwd
    SystemTel /proc/sys/kernel/osrelease, /proc/sys/kernel/hostname, /proc/uptime, /proc/loadavg
    Controller Service Data Sources
    ProcessCon pkill, kill, renice CLI tools
Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on ZenMonitor.Core.Linux:

Package Downloads
ZenMonitor.Core.Hosting

Auto-detection and DI registration for ZenMonitor.Core platform services.

GitHub repositories

This package is not used by any popular GitHub repositories.