LTRData.PerformanceCounters 1.0.24

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

LTRData Library

A collection of reusable .NET libraries used by tools and applications by Olof Lagerkvist, LTR Data. The repository contains independently versioned library projects covering general utilities, data and networking, geographical calculations, mathematical expressions, plotting, and platform integration.

Packages and components

Each library project below uses its project name as its NuGet package ID. Choose the packages needed by your application; dependencies between them are declared in the project files. Namespaces can differ from package names.

Package / source Purpose
LTRData.Extensions General-purpose extensions for buffers and spans, streams, collections, formatting, reflection, numeric operations, and command-line parsing.
LTRData.Extensions.Native Native memory helpers, memory comparison, and native library/symbol access; individual APIs have OS and runtime dependencies.
LTRData.Data Collection and query helpers, caching, CSV reading/writing, reflection-based data mapping, and Entity Framework integration.
LTRData.Xml XML serialization and extensions, configuration, and time-zone-aware date/time helpers.
LTRData.Net HTTP and download helpers, IP address ranges, network extensions, and pipeline helpers.
LTRData.Web RSS models/downloads and linked XML resources. Server-specific helpers live in WebServerUtils.
LTRData.WebServerUtils HTTP server utilities for classic ASP.NET and ASP.NET Core, including response/file handling and HTTPS-related helpers.
LTRData.Geodesy WGS84, RT90 and SWEREF99 coordinates and conversions, grid squares, solar events, and moon-phase calculations.
LTRData.PolyGeometry Point, line, path, polygon and bounding-rectangle types, with WKT parsing.
LTRData.Placemarks Simplified KML models, region lookup and geographical geometry helpers; modern targets use NetTopologySuite.
LTRData.Graphics Color conversion/matching and 3D vector extensions.
LTRData.MathExpression Math parsing, diagnostics, binding and interpreted evaluation, plus portable expression-tree diagram content/layout. Legacy parser APIs remain available.
LTRData.FunctionPlotting Parser-independent function sampling, clipped plot geometry, and numerical differentiation/integration of samples.
LTRData.Graphics.SkiaSharp SkiaSharp renderers for function plots and expression diagrams, plus PNG encoding.
LTRData.Compat.System.Management A System.Management-style API over Microsoft.Management.Infrastructure (CIM), including asynchronous operations; not a complete System.Management replacement.
LTRData.PerformanceCounters Thermal-zone temperature enumeration through Windows performance counters and, on applicable targets, Linux sysfs.

For example, add the general extensions package to an application:

dotnet add package LTRData.Extensions

See LTRData packages on NuGet for published versions and their framework assets. Source on the default branch may be newer than a published package.

Target frameworks and platform dependencies

Most library projects inherit these build targets from Directory.Build.props:

  • .NET Framework 3.5, 4.0, 4.6 and 4.8.
  • .NET Standard 2.0 and 2.1.
  • .NET 8, 9 and 10.

The exceptions are:

Package Targets
LTRData.Compat.System.Management .NET Framework 4.6/4.8, .NET Standard 2.0/2.1, .NET 8/9/10
LTRData.WebServerUtils .NET Framework 4.0/4.6/4.8, .NET Standard 2.0/2.1, .NET 8/9/10
LTRData.Graphics.SkiaSharp .NET 8/9/10

These are compilation targets, not a guarantee that every API is available on every framework or operating system. Conditional compilation and dependencies vary by target; consult the linked project files and the API you intend to use.

  • The modern expression and plotting code is independent of a graphics backend. Rendering through SkiaSharp requires compatible native assets and fonts. Linux applications need the matching Linux native package; FreeBSD native deployment remains deferred. See the rendering and deployment notes.
  • WebServerUtils uses System.Web on .NET Framework and ASP.NET Core dependencies on modern targets, including the Microsoft.AspNetCore.App shared framework for .NET 8/9/10. LTRData.Web is kept separate from these server runtime references.
  • Native helpers, CIM operations and temperature readings depend on the relevant operating-system libraries, services or hardware interfaces. A .NET Standard target alone does not establish platform availability.

Mathematical expressions and plotting

The modern API separates parsing and binding in LTRData.MathExpression, numerical sampling and geometry in LTRData.FunctionPlotting, and native rendering in LTRData.Graphics.SkiaSharp. FunctionPlotting also accepts ordinary numerical delegates without requiring an expression parser.

Start with the expression language specification, rendering examples, and consumer migration and sample calculus notes. Fixed-count sampling does not guarantee detection of every discontinuity or finite asymptote; adaptive sampling and previous-value recurrence remain deferred.

The design documentation preserves the investigation and implementation history. Some sections describe earlier experimental checkpoints; the modern APIs are now part of this repository.

Building and testing

Use the .NET 10 SDK, as in the CI workflow. Building all targets also requires the corresponding reference assemblies; running tests requires the runtime for the selected target.

From the repository root:

dotnet restore Library.slnx
dotnet build Library.slnx -c Release --no-restore
dotnet test Library.slnx -c Release --no-build --no-restore -f net10.0

CI is configured to build on Windows, Ubuntu and macOS. It runs the configured test targets on Windows and .NET 10 tests on Ubuntu/macOS. The main test project targets .NET Framework 4.8 and .NET 8/9/10; Rendering.Tests targets .NET 8/9/10 and exercises native SkiaSharp rendering.

Release builds generate NuGet packages. Set LocalNuGetPath to a local feed directory when building packages for other repositories, and build the required dependency packages as well. The local package workflow explains output configuration, consumer restore, and package-origin verification.

Consumers include the netexpr command-line tool and Windows GraphViewer. The separate LTRLib repository retains legacy libraries, including Windows drawing compatibility used by older consumers. The migration notes explain how netexpr and GraphViewer use the newer APIs here.

Geodesy includes work derived from Björn Sållarp's MightyLittleGeodesy, extended by Olof Lagerkvist. Existing source headers retain authorship and license notices.

License and third-party notices

LTRData Library is distributed under the MIT License. See THIRD-PARTY-NOTICES.md for embedded third-party source, attribution requirements, and additional context for dependency-license findings reported by automated scanners such as FOSSA.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  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.  net11.0 is compatible. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 is compatible. 
.NET Framework net35 is compatible.  net40 is compatible.  net403 was computed.  net45 was computed.  net451 was computed.  net452 was computed.  net46 is compatible.  net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 is compatible.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.24 40 11/14/2026
1.0.23 151 7/4/2026
1.0.22 471 11/18/2025
1.0.21 295 11/16/2025