TestVibe.Telemetry
2.0.0
dotnet add package TestVibe.Telemetry --version 2.0.0
NuGet\Install-Package TestVibe.Telemetry -Version 2.0.0
<PackageReference Include="TestVibe.Telemetry" Version="2.0.0" />
<PackageVersion Include="TestVibe.Telemetry" Version="2.0.0" />
<PackageReference Include="TestVibe.Telemetry" />
paket add TestVibe.Telemetry --version 2.0.0
#r "nuget: TestVibe.Telemetry, 2.0.0"
#:package TestVibe.Telemetry@2.0.0
#addin nuget:?package=TestVibe.Telemetry&version=2.0.0
#tool nuget:?package=TestVibe.Telemetry&version=2.0.0
TestVibe.Telemetry
Drop-in server telemetry for any .NET application. Reports your server's CPU, memory, an optional session count, and your own custom metrics to TestVibe — so you can see why the server behaves the way it does under load.
The metrics show up in two places:
- Load test results — server vitals render right next to the client-side charts.
- Dashboard → Live Servers — the same vitals stream in real time while you watch.
It only transmits while one of your load runs is active or someone is watching the Dashboard. No idle traffic, and telemetry is always best-effort — it can never disturb the host application.
Install
dotnet add package TestVibe.Telemetry
Targets netstandard2.0 (works on .NET Framework 4.6.1+, .NET Core 2.0+, and
.NET 5–10+) with no dependency on any UI framework.
Quick start
Register once at application startup with your TestVibe server URL and a project API key (TestVibe → Settings → CLI & API keys):
TestVibe.Telemetry.Register(
"https://app.testvibe.com",
"tvb_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
That's it. The agent discovers your account's projects from the API key — no project id needed — then quietly waits for a load run or an open Dashboard before streaming CPU and memory.
Report a session count (optional)
Pass a SessionCount callback to also get Sessions and Memory / session
(great for spotting per-session leaks under load). Wire it to whatever represents
an active session in your app:
using TestVibe;
Telemetry.Register("https://app.testvibe.com", "tvb_…", new TelemetryOptions
{
// Wisej.NET:
SessionCount = () => Wisej.Web.Application.SessionCount,
// ASP.NET Core: a counter you increment/decrement per connection or signed-in user
// SessionCount = () => MyConnectionCounter.Current,
Source = "web-01", // optional label per server (defaults to the machine name)
});
See the docs for ready-to-paste examples for ASP.NET Core, Worker Services, console apps, WinForms/WPF, and Wisej.NET.
Custom metrics, info & errors
// Gauges — chart alongside CPU/memory in load results and Live Servers (latest value wins).
Telemetry.ReportMetric("Orders/min", ordersPerMinute);
Telemetry.ReportMetric("Queue depth", queue.Count);
// Static facts shown in the server card header.
Telemetry.ReportInfo("Region", "westeurope");
// Errors — grouped and persisted under Dashboard → Telemetry → Errors.
// Unhandled exceptions are captured automatically; report handled ones too:
try { DoWork(); }
catch (Exception ex) { Telemetry.ReportError(ex); throw; }
Links
- 🌐 Website — testvibe.com
- 📚 Documentation — testvibe.com/docs
- 📈 Server telemetry guide — testvibe.com/docs/load-testing/server-telemetry
- 🔑 API keys — testvibe.com/docs/account-settings/api-keys
License
Copyright © ICE TEA GROUP LLC. All rights reserved.
| Product | Versions 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 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. |
| .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 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. 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. |
-
.NETStandard 2.0
- System.Text.Json (>= 8.0.5)
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.