TCIS.Diagnostics.Advanced 1.0.0-rc.10

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

TCIS.Diagnostics.Advanced

The TCIS.Diagnostics.Advanced library provides an automatic mechanism for performance tracking and Latency calculation for External APIs (HttpClient), while supporting proactive Health Checks based on actual latency.

🌟 Features

  • Automatic Measurement: Automatically measures latency via the Delegating Handler system when registering an HttpClient.
  • EMA Algorithm (Exponential Moving Average): Provides smooth and responsive average latency calculation.
  • Latency Health Check: Supports proactive Health Checks (returning Degraded/Unhealthy) if the target API response time exceeds the defined threshold (Grey Failure Detection).
  • OpenTelemetry Metrics: Automatically pushes the http.client.latency.ema_ms metric into the Observability system.

📦 Installation

dotnet add package TCIS.Diagnostics.Advanced

⚙️ Configuration

You can adjust the warning thresholds for latency in the appsettings.json file:

{
  "LatencyOptions": {
    "DegradedThresholdMs": 2000,
    "UnhealthyThresholdMs": 5000,
    "ColdStartThreshold": 5,
    "StaleDataThresholdSeconds": 60
  }
}

🚀 Setup & Usage

1. Registering Metrics & Health Checks on HttpClient

In Program.cs, use a combination of AddTLatencyDiagnostics() and AddTLatencyHealthCheck() on the HttpClient builder chain:

using TCIS.Diagnostics.Advanced.Extensions;

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddHttpClient("ExternalAppClient", client => 
{
    client.BaseAddress = new Uri("http://api.external.com");
})
// Activate latency recording (metrics)
.AddTLatencyDiagnostics() 
// Activate metric-based health evaluation (Health Check)
.AddTLatencyHealthCheck(); 

2. Observation Parameters

  • Generated Metrics: http.client.latency.ema_ms (Meter name: TCIS.Diagnostics.Latency).
  • Tags (Health Checks): "latency", "performance", "http", "dependencies".
Product Compatible and additional computed target framework versions.
.NET 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 was computed.  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 was computed.  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 TCIS.Diagnostics.Advanced:

Package Downloads
TCIS.Http

TCIS Core Framework is an application framework for building modular, multi-tenant applications on ASP.NET Core. HTTP client extensions and utilities for TCIS Framework.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0-rc.10 41 7/24/2026
1.0.0-rc.9 62 7/21/2026
1.0.0-rc.8 61 7/21/2026
1.0.0-rc.7 70 7/17/2026
1.0.0-rc.6 82 7/7/2026
1.0.0-rc.5 84 7/7/2026
1.0.0-rc.4 88 6/24/2026
1.0.0-rc.2 76 5/12/2026
1.0.0-rc.1 76 5/12/2026