Temporalio.Extensions.DiagnosticSource
1.3.0
dotnet add package Temporalio.Extensions.DiagnosticSource --version 1.3.0
NuGet\Install-Package Temporalio.Extensions.DiagnosticSource -Version 1.3.0
<PackageReference Include="Temporalio.Extensions.DiagnosticSource" Version="1.3.0" />
paket add Temporalio.Extensions.DiagnosticSource --version 1.3.0
#r "nuget: Temporalio.Extensions.DiagnosticSource, 1.3.0"
// Install Temporalio.Extensions.DiagnosticSource as a Cake Addin #addin nuget:?package=Temporalio.Extensions.DiagnosticSource&version=1.3.0 // Install Temporalio.Extensions.DiagnosticSource as a Cake Tool #tool nuget:?package=Temporalio.Extensions.DiagnosticSource&version=1.3.0
System.Diagnostics.Metrics Support
This extension adds an implementation of Temporalio.Runtime.ICustomMetricMeter
for System.Diagnostics.Metrics.Meter
so internal SDK metrics can be forwarded as regular .NET metrics.
Quick Start
Add the Temporalio.Extensions.DiagnosticSource
package from
NuGet. For example, using the dotnet
CLI:
dotnet add package Temporalio.Extensions.DiagnosticSource
Now a Temporalio.Runtime.TemporalRuntime
can be created with a .NET meter and a client can be created from that:
using System.Diagnostics.Metrics;
using Temporalio.Client;
using Temporalio.Extensions.DiagnosticSource;
using Temporalio.Runtime;
// Create .NET meter
using var meter = new Meter("My.Meter");
// Can create MeterListener or OTel meter provider here...
// Create Temporal runtime with a custom metric meter for that meter
var runtime = new TemporalRuntime(new()
{
Telemetry = new()
{
Metrics = new() { CustomMetricMeter = new CustomMetricMeter(meter) },
},
});
// Create a client using that runtime
var client = await TemporalClient.ConnectAsync(
new()
{
TargetHost = "my-temporal-host:7233",
Namespace = "my-temporal-namespace",
Runtime = runtime,
});
// Now all metrics for the client will go through the .NET meter
This client can be used for the worker too which means that all metrics, including ones created during activity using
ActivityExecutionContext.Current.MetricMeter
and during workflow using Workflow.MetricMeter
, will be recorded on
the .NET meter.
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 was computed. 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. |
.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 is compatible. 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. |
-
.NETFramework 4.6.2
- System.Diagnostics.DiagnosticSource (>= 7.0.0)
- Temporalio (>= 1.3.0)
-
.NETStandard 2.0
- System.Diagnostics.DiagnosticSource (>= 7.0.0)
- Temporalio (>= 1.3.0)
GitHub repositories
This package is not used by any popular GitHub repositories.