ZenMonitor.Core 2.0.0-alpha.3

This is a prerelease version of ZenMonitor.Core.
dotnet add package ZenMonitor.Core --version 2.0.0-alpha.3
                    
NuGet\Install-Package ZenMonitor.Core -Version 2.0.0-alpha.3
                    
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" Version="2.0.0-alpha.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ZenMonitor.Core" Version="2.0.0-alpha.3" />
                    
Directory.Packages.props
<PackageReference Include="ZenMonitor.Core" />
                    
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 --version 2.0.0-alpha.3
                    
#r "nuget: ZenMonitor.Core, 2.0.0-alpha.3"
                    
#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@2.0.0-alpha.3
                    
#: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&version=2.0.0-alpha.3&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=ZenMonitor.Core&version=2.0.0-alpha.3&prerelease
                    
Install as a Cake Tool

ZenMonitor.Core

Core library for ZenMonitor system telemetry

CodeFactor Grade Code Coverage Nuget Version

A light and fast system monitor

Core hardware abstraction interfaces, models, and platform services powering the ZenMonitor system monitor.

This repository is a separate NuGet library extracted from the main ZenMonitor project.

Only fully supports Linux at the moment. Windows support is WIP. The structure is still being defined. Expect changes.


Quick Start

Using the package:

# Add the packages to your project
dotnet add package ZenMonitor.Core # Main components
dotnet add package ZenMonitor.Core.Hosting # Init ZenMonitor.Core (optional, requires Dependency Injection)
using Microsoft.Extensions.DependencyInjection;
using ZenMonitor.Core.Hosting;

// Optional: Register all services using dependency injection (auto-detects OS)
var services = new ServiceCollection();
services.AddZenMonitor();
// You can also manually register the services you need.
// Skipping dependency injection is possible but not recommended.

See CONTRIBUTING.md for the contribution workflow and our Code of Conduct.

Technical Details

  • Stack: C# 100%, .NET 10.0.203
  • Platform: Linux (Windows is currently WIP)
  • License: LGPL-3.0

Project Documentation

Hardware Interfaces

Each hardware component is defined as an interface in the Abstractions namespace, with a corresponding Null-object service in Services (used as fallback when no platform implementation is available). The Linux project provides real implementations, while Windows support is under development.

IHardwareMonitor aggregates all interfaces as properties, providing a single entry point for consumers to simplify usage.

Each interface exposes a void Update() method plus typed getters:

Interface Provides
ICpu CPU usage, temperature, frequency etc.
IDrive Disk I/O, partition usage etc.
IGpu GPU utilization, VRAM etc.
IMemory RAM usage, swap etc.
INetwork Network throughput, interfaces etc.
ISystem OS info, uptime, hostname etc.

Project Structure

The repo is split across five projects:

Project DescriptioSn
ZenMonitor.Core Hardware abstraction interfaces (ICpu, IDrive, IGpu, IMemory, INetwork, ISystem), data models, and Null-object fallback services.
ZenMonitor.Core.Hosting DI registration extensions (AddZenMonitor.Core()) that auto-detect the OS and register the correct platform services. This is optional but recommended.
ZenMonitor.Core.Linux Linux-specific platform implementations for all interfaces.
ZenMonitor.Core.Windows Windows-specific platform implementations for all interfaces.
ZenMonitor.Core.Debug Quick debugging interface providing all info out of the box to the terminal with logging. See CONTRIBUTING.md for usage details.
ZenMonitor.Core.Tests xUnit test suite.

NuGet Packages

Four NuGet packages are built and published:

  • ZenMonitor.Core — interfaces, models, Null services.
  • ZenMonitor.Core.Hosting — DI registration helpers.
  • ZenMonitor.Core.Linux — Linux platform services.
  • ZenMonitor.Core.Windows — Windows platform services.

Use using ZenMonitor.Core.Hosting; for initialization and DI, and using ZenMonitor.Core; for core components.


Contributing

Please read CONTRIBUTING.md for guidelines on code style, commit conventions, and pull requests.

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.
  • net10.0

    • No dependencies.

NuGet packages (3)

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

Package Downloads
ZenMonitor.Core.Linux

Linux platform services and implementations for ZenMonitor.Core.

ZenMonitor.Core.Hosting

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

ZenMonitor.Core.Windows

Windows platform services and implementations for ZenMonitor.Core.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.0.0-alpha.3 77 6/13/2026
2.0.0-alpha.2 59 6/12/2026
2.0.0-alpha.1 59 6/8/2026