![]() |
VOOZH | about |
dotnet add package ThunderPropagator.BuildingBlocks.Debug --version 1.0.1-beta.102
NuGet\Install-Package ThunderPropagator.BuildingBlocks.Debug -Version 1.0.1-beta.102
<PackageReference Include="ThunderPropagator.BuildingBlocks.Debug" Version="1.0.1-beta.102" />
<PackageVersion Include="ThunderPropagator.BuildingBlocks.Debug" Version="1.0.1-beta.102" />Directory.Packages.props
<PackageReference Include="ThunderPropagator.BuildingBlocks.Debug" />Project file
paket add ThunderPropagator.BuildingBlocks.Debug --version 1.0.1-beta.102
#r "nuget: ThunderPropagator.BuildingBlocks.Debug, 1.0.1-beta.102"
#:package ThunderPropagator.BuildingBlocks.Debug@1.0.1-beta.102
#addin nuget:?package=ThunderPropagator.BuildingBlocks.Debug&version=1.0.1-beta.102&prereleaseInstall as a Cake Addin
#tool nuget:?package=ThunderPropagator.BuildingBlocks.Debug&version=1.0.1-beta.102&prereleaseInstall as a Cake Tool
ThunderPropagator BuildingBlocks (Project ARC) is a comprehensive .NET library providing production-ready, reusable components for building high-performance, cloud-native applications. Targets .NET 8.0, 9.0, and 10.0 with multi-platform support (AnyCPU, x86, x64, ARM64).
Main Documentation Hub:
| Area | Types | Files | Diagrams | Description |
|---|---|---|---|---|
15 |
12 |
โ |
Core abstractions (FeederMessage, ServiceConfiguration, Telemetry) | |
| โโ | 2 |
2 |
โ |
JSON serialization control and member ignore attributes |
| โโ | 1 |
1 |
โ |
X.509 certificate handling and management |
| โโ | 5 |
5 |
โ |
Property change tracking with observable patterns |
| โโ | 3 |
3 |
โ |
AES/RSA encryption and password generation |
| โโ | 3 |
3 |
โ |
LinkedArray, BindingDictionary, GenericOrderedDictionary |
| โโ | 3 |
3 |
โ |
Correlation ID management for distributed tracing |
| โโ | 4 |
4 |
โ |
Common enumerations (AuthenticationType, CastType, DataType) |
| โโ | 18 |
18 |
โ |
Serialization, collection, string, date/time utilities |
| โโ | 2 |
2 |
โ |
JWT identity helper utilities |
| โโ | 5 |
5 |
โ |
Base classes (DisposableObject, EquatableObject, NotifiableObject) |
| โโ | 4 |
4 |
โ |
Serialization abstractions and Kafka serializer types |
| Area | Types | Files | Diagrams | Description |
|---|---|---|---|---|
0 |
1 |
โ |
Infrastructure layer entry point | |
| โโ | 0 |
0 |
โ |
ASP.NET Core health check integrations |
| โโ | 0 |
0 |
โ |
System-level utilities and abstractions |
| โ โโ | 2 |
2 |
โ |
Network performance monitoring |
| โโ | 4 |
4 |
โ |
Cross-platform resource monitoring |
| โโ | 2 |
2 |
โ |
Metrics client abstractions |
| โโ | 3 |
2 |
โ |
Battery status, charge, health (Windows/macOS/Linux) |
| โโ | 4 |
4 |
โ |
CPU usage and temperature monitoring |
| โโ | 6 |
4 |
โ |
Disk health (SMART) and I/O performance |
| โโ | 3 |
2 |
โ |
GPU utilization, memory, temperature |
| โโ | 2 |
2 |
โ |
System and process memory usage |
| โโ | 2 |
2 |
โ |
System drive enumeration and space |
Total: 100+ types, 92 files, 25+ diagrams created
Last generated: December 28, 2025
ThunderPropagator packages are hosted on GitHub Packages: https://nuget.pkg.github.com/KiarashMinoo/index.json
Option 1: nuget.config (recommended)
<configuration>
<packageSources>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
<add key="github" value="https://nuget.pkg.github.com/KiarashMinoo/index.json" />
</packageSources>
<packageSourceMapping>
<packageSource key="github">
<package pattern="ThunderPropagator.*" />
</packageSource>
<packageSource key="nuget.org">
<package pattern="*" />
</packageSource>
</packageSourceMapping>
<packageSourceCredentials>
<github>
<add key="Username" value="YOUR_GITHUB_USERNAME" />
<add key="ClearTextPassword" value="YOUR_GITHUB_PAT" />
</github>
</packageSourceCredentials>
</configuration>
Option 2: CLI
dotnet nuget add source https://nuget.pkg.github.com/KiarashMinoo/index.json \
--name github \
--username YOUR_GITHUB_USERNAME \
--password YOUR_GITHUB_PAT \
--store-password-in-clear-text
# Core application building blocks
dotnet add package ThunderPropagator.BuildingBlocks.Application
# Infrastructure components
dotnet add package ThunderPropagator.BuildingBlocks.Infrastructure
using ThunderPropagator.BuildingBlocks.Application;
public class OrderMessage : FeederMessage
{
public Guid OrderId
{
get => GetValueOrDefault(Guid.NewGuid());
set => SetValue(value);
}
public decimal Amount
{
get => GetValueOrDefault(0m);
set => SetValue(value);
}
}
var order = new OrderMessage
{
OrderId = Guid.NewGuid(),
Amount = 99.99m,
CorrelationId = "req-12345"
};
using ThunderPropagator.BuildingBlocks.Infrastructure.SystemResourceMonitor;
services.AddSystemResourceMonitor(options =>
{
options.EnableCpuMetrics = true;
options.EnableMemoryMetrics = true;
options.EnableDiskHealth = true;
options.DefaultSamplingWindowMs = 500;
});
// Inject and use
public class MonitoringService
{
private readonly ISystemResourceMonitor _monitor;
public MonitoringService(ISystemResourceMonitor monitor)
{
_monitor = monitor;
}
public async Task<SystemResourceMonitorMetrics> GetMetricsAsync()
{
return await _monitor.GetMetricsAsync();
}
}
using ThunderPropagator.BuildingBlocks.Application.Helpers;
// JSON
var json = myObject.ToJson();
var obj = json.FromJson<MyType>();
// YAML
var yaml = myObject.ToYaml();
// ProtoBuf
var bytes = myObject.ToProtoBufBytes();
// MessagePack
var base64 = myObject.ToMessagePackBase64();
# Restore dependencies
dotnet restore
# Build (Release)
dotnet build -c Release
# Run tests
dotnet test -c Release
# Package
dotnet pack -c Release -o artifacts/pkg
Multi-Platform Builds:
| Package | Version | Description | Documentation |
|---|---|---|---|
| ThunderPropagator.BuildingBlocks.Application | 1.0.1-beta.* |
Core application building blocks (FeederMessage, ServiceConfiguration, Helpers, Serialization) | |
| ThunderPropagator.BuildingBlocks.Infrastructure | 1.0.1-beta.* |
Infrastructure components (SystemResourceMonitor, HealthChecks, Network) |
The solution follows a strict two-layer architecture:
Application Layer (ThunderPropagator.BuildingBlocks.Application)
Tests/ArchTests/ArchitectureTests.csInfrastructure Layer (ThunderPropagator.BuildingBlocks.Infrastructure)
Critical Rule: Application layer MUST NEVER depend on Infrastructure layer.
dotnet test -c Release
Architecture constraints are enforced by NetArchTest.Rules in Tests/ArchTests/:
Comprehensive unit tests with xUnit and NSubstitute in Tests/ThunderPropagator.UnitTests/:
BenchmarkDotNet benchmarks for performance-critical code:
CollectionHelperBenchmark.csSizeBenchmark.csdevelop-beta-ci.yml โ Increments beta versiondevelop-release-ci.yml โ Creates GitHub release, strips beta suffixhttps://nuget.pkg.github.com/KiarashMinoo/index.json.github/copilot-instructions.md)/docsSee for details.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 net8.0 is compatible. net8.0-android net8.0-android was computed. net8.0-browser net8.0-browser was computed. net8.0-ios net8.0-ios was computed. net8.0-maccatalyst net8.0-maccatalyst was computed. net8.0-macos net8.0-macos was computed. net8.0-tvos net8.0-tvos was computed. net8.0-windows net8.0-windows was computed. net9.0 net9.0 is compatible. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 is compatible. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
Showing the top 5 NuGet packages that depend on ThunderPropagator.BuildingBlocks.Debug:
| Package | Downloads |
|---|---|
|
ThunderPropagator.Providers.DotNet.SharedKernel
ThunderPropagator (Project ARC): High-performance data propagation; effortless, blazingly fast and cloud-native for maximum impact |
|
|
ThunderPropagator.Feeviders.Pulsar.SharedKernel
ThunderPropagator (Project ARC): High-performance data propagation; effortless, blazingly fast and cloud-native for maximum impact |
|
|
ThunderPropagator.Feeviders.Mqtt.SharedKernel
ThunderPropagator (Project ARC): High-performance data propagation; effortless, blazingly fast and cloud-native for maximum impact |
|
|
ThunderPropagator.Feeviders.RabbitMQ.SharedKernel
ThunderPropagator (Project ARC): High-performance data propagation; effortless, blazingly fast and cloud-native for maximum impact |
|
|
ThunderPropagator.Clients.DotNet
ThunderPropagator (Project ARC): High-performance data propagation; effortless, blazingly fast and cloud-native for maximum impact |
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.1-beta.102 | 194 | 6/16/2026 |
| 1.0.1-beta.101 | 41 | 6/16/2026 |
| 1.0.1-beta.100 | 37 | 6/16/2026 |
| 1.0.1-beta.99 | 34 | 6/16/2026 |
| 1.0.1-beta.98 | 37 | 6/16/2026 |
| 1.0.1-beta.97 | 36 | 6/16/2026 |
| 1.0.1-beta.96 | 37 | 6/16/2026 |
| 1.0.1-beta.95 | 40 | 6/16/2026 |
| 1.0.1-beta.94 | 32 | 6/16/2026 |
| 1.0.1-beta.93 | 33 | 6/16/2026 |
| 1.0.1-beta.92 | 43 | 6/16/2026 |
| 1.0.1-beta.91 | 37 | 6/16/2026 |
| 1.0.1-beta.90 | 46 | 6/16/2026 |
| 1.0.1-beta.89 | 42 | 6/16/2026 |
| 1.0.1-beta.88 | 40 | 6/16/2026 |
| 1.0.1-beta.87 | 48 | 6/15/2026 |
| 1.0.1-beta.86 | 56 | 6/15/2026 |
| 1.0.1-beta.85 | 46 | 6/15/2026 |
| 1.0.1-beta.84 | 47 | 6/14/2026 |
| 1.0.1-beta.83 | 55 | 5/26/2026 |
- [refactor][ThunderPropagator.BuildingBlocks#149] Migrate ILogger call site to LoggerMessageAttribute source-generated logging