GnomeStack.Diagnostics.Activity
0.1.2
See the version list below for details.
dotnet add package GnomeStack.Diagnostics.Activity --version 0.1.2
NuGet\Install-Package GnomeStack.Diagnostics.Activity -Version 0.1.2
<PackageReference Include="GnomeStack.Diagnostics.Activity" Version="0.1.2" />
paket add GnomeStack.Diagnostics.Activity --version 0.1.2
#r "nuget: GnomeStack.Diagnostics.Activity, 0.1.2"
// Install GnomeStack.Diagnostics.Activity as a Cake Addin #addin nuget:?package=GnomeStack.Diagnostics.Activity&version=0.1.2 // Install GnomeStack.Diagnostics.Activity as a Cake Tool #tool nuget:?package=GnomeStack.Diagnostics.Activity&version=0.1.2
GnomeStack.Diagnostics.Activity
Provides extension methods for System.Diagnostics.Activity
to make it easier
to leverage Activity
in lower level libraries as OpenTelemetry.Api includes
logging and other things one may not want in a base class library.
The semantic convention tags for traces and resources are included. The are pulled from the Apache 2.0 source code in OpenTelemetry.SemanticConventions package.
Usage
using GnomeStack.Diagnostics.Activity;
// generally you would create from ActivitySource, this is for example purposes.
var activity = new Activity("MyActivity");
activity.WithTag("foo", "bar")
.WithTag("baz", 10);
try {
activity
.WithName("UpdateName")
.SetTagSet(new Dictionary<string, object> {
{ "foo2", "bar2" },
{ "baz2", 10 }
})
.Start();
// do stuff
activity.Ok();
// or
activity.WithStatus(ActivityStatus.Ok);
} catch (Exception ex) {
activity.RecordException(ex);
activity.Error();
// or just call exception to set status and record exception in one call.
activity.Error(ex);
// there is also a WithStatu
throw;
} finally {
activity.Stop();
}
To simplify creating an activity source there is a factory.
using GnomeStack.Diagnostics.Activity;
// this will look for an ActivitySourceAttribute or use the information from the calling assembly.
public static ActivitySource LibSource { get; } = ActivitySourceFactory.CreateFromCallingAssembly();
// this will look for an ActivitySourceAttribute or use the information from the assembly.
public static ActivitySource LibSource { get; } = ActivitySourceFactory.CreateFromAssembly(typeof(MyClass).Assembly);
// this will look for an ActivitySourceAttribute or use the information from assembly retrieved from type MyClass.
public static ActivitySource LibSource { get; } = ActivitySourceFactory.CreateFromAssembly<MyClass>();
MIT License
Source from OpenTelemetry.SemanticConventions is Apache 2.0
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. 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 is compatible. 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 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
- Microsoft.Bcl.HashCode (>= 1.1.1)
- System.Diagnostics.DiagnosticSource (>= 7.0.0)
- System.Memory (>= 4.5.5)
-
net6.0
- System.Diagnostics.DiagnosticSource (>= 7.0.0)
-
net7.0
- System.Diagnostics.DiagnosticSource (>= 7.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
# CHANGE LOG
## 0.0.0 initial creation
- created.