Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,12 +34,12 @@ jobs:
runs-on: ${{ matrix.os }}

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
with:
fetch-depth: 0 # MinVer needs full git history

- name: Setup .NET
uses: actions/setup-dotnet@v4
uses: actions/setup-dotnet@v5
with:
global-json-file: global.json

Expand Down Expand Up @@ -73,15 +73,15 @@ jobs:

- name: Upload test results
if: always()
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: test-results-${{ matrix.os }}
path: artifacts/test-results
if-no-files-found: warn

- name: Generate coverage report
if: matrix.os == 'ubuntu-latest'
uses: danielpalme/ReportGenerator-GitHub-Action@5.5.0
uses: danielpalme/ReportGenerator-GitHub-Action@5.5.10
with:
reports: artifacts/test-results/**/coverage.cobertura.xml
targetdir: artifacts/coverage-report
Expand All @@ -94,7 +94,7 @@ jobs:

- name: Upload coverage report
if: matrix.os == 'ubuntu-latest'
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: coverage-report
path: artifacts/coverage-report
Expand All @@ -106,7 +106,7 @@ jobs:

- name: Upload packages
if: matrix.os == 'ubuntu-latest'
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: packages
path: |
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/publish-nuget.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
fetch-depth: 0

Expand Down Expand Up @@ -97,7 +97,7 @@ jobs:
Write-Host "Package version: $version"

- name: Setup .NET
uses: actions/setup-dotnet@v4
uses: actions/setup-dotnet@v5
with:
global-json-file: global.json

Expand Down Expand Up @@ -137,7 +137,7 @@ jobs:

- name: Upload test results
if: always()
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: publish-test-results
path: .\artifacts\test-results
Expand Down Expand Up @@ -175,7 +175,7 @@ jobs:
}

- name: Upload packages
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: publish-packages-${{ steps.version.outputs.version }}
path: |
Expand Down Expand Up @@ -212,7 +212,7 @@ jobs:
git push origin "v$env:PACKAGE_VERSION"

- name: Create GitHub Release
uses: softprops/action-gh-release@v2
uses: softprops/action-gh-release@v3
with:
tag_name: v${{ steps.version.outputs.version }}
name: v${{ steps.version.outputs.version }}
Expand Down
58 changes: 29 additions & 29 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
@@ -1,30 +1,30 @@
<Project>
<PropertyGroup>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
<CentralPackageTransitivePinningEnabled>true</CentralPackageTransitivePinningEnabled>
</PropertyGroup>
<ItemGroup Label="Versioning + SourceLink (library-side)">
<PackageVersion Include="Atya.Foundation.Guards" Version="1.0.0" />
<PackageVersion Include="Atya.Governance.CodeQuality" Version="1.0.0" />
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="8.0.0" />
<PackageVersion Include="MinVer" Version="6.0.0" />
</ItemGroup>
<ItemGroup Label="Testing">
<PackageVersion Include="Atya.Governance.Testing" Version="1.0.0" />
<PackageVersion Include="coverlet.collector" Version="10.0.1" />
<PackageVersion Include="FluentAssertions" Version="8.10.0" />
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="10.0.8" />
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.5.1" />
<PackageVersion Include="NSubstitute" Version="5.3.0" />
<PackageVersion Include="NSubstitute.Analyzers.CSharp" Version="1.0.17" />
<PackageVersion Include="xunit" Version="2.9.3" />
<PackageVersion Include="xunit.runner.visualstudio" Version="3.1.5" />
</ItemGroup>
<ItemGroup Label="Benchmarking">
<PackageVersion Include="BenchmarkDotNet" Version="0.15.8" />
</ItemGroup>
<ItemGroup Label="Runtime + integrations">
<PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="10.0.8" />
<PackageVersion Include="Microsoft.Extensions.Options" Version="10.0.8" />
</ItemGroup>
<Project>
<PropertyGroup>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
<CentralPackageTransitivePinningEnabled>true</CentralPackageTransitivePinningEnabled>
</PropertyGroup>
<ItemGroup Label="Versioning + SourceLink (library-side)">
<PackageVersion Include="Atya.Foundation.Guards" Version="1.0.0" />
<PackageVersion Include="Atya.Governance.CodeQuality" Version="1.0.0" />
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="8.0.0" />
<PackageVersion Include="MinVer" Version="7.0.0" />
</ItemGroup>
<ItemGroup Label="Testing">
<PackageVersion Include="Atya.Governance.Testing" Version="1.0.0" />
<PackageVersion Include="coverlet.collector" Version="10.0.1" />
<PackageVersion Include="FluentAssertions" Version="8.10.0" />
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="10.0.8" />
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="18.5.1" />
<PackageVersion Include="NSubstitute" Version="5.3.0" />
<PackageVersion Include="NSubstitute.Analyzers.CSharp" Version="1.0.17" />
<PackageVersion Include="xunit" Version="2.9.3" />
<PackageVersion Include="xunit.runner.visualstudio" Version="3.1.5" />
</ItemGroup>
<ItemGroup Label="Benchmarking">
<PackageVersion Include="BenchmarkDotNet" Version="0.15.8" />
</ItemGroup>
<ItemGroup Label="Runtime + integrations">
<PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="10.0.8" />
<PackageVersion Include="Microsoft.Extensions.Options" Version="10.0.8" />
</ItemGroup>
</Project>
1 change: 0 additions & 1 deletion samples/Tracing.Samples.Console/Program.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
using System.Diagnostics;
using Atya.Diagnostics.Tracing.Abstractions;
using Atya.Diagnostics.Tracing.Context;
using Atya.Diagnostics.Tracing.DependencyInjection;
using Atya.Diagnostics.Tracing.Extensions;
using Microsoft.Extensions.DependencyInjection;

Expand Down
28 changes: 14 additions & 14 deletions src/Tracing/Activities/ActivitySourceAccessor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ namespace Atya.Diagnostics.Tracing.Activities;
/// </summary>
public sealed class ActivitySourceAccessor : IActivitySourceAccessor, IDisposable
{
private readonly KeyValuePair<string, object?>[] defaultTags;
private readonly string? serviceName;
private readonly string? serviceVersion;
private bool disposed;
private readonly KeyValuePair<string, object?>[] _defaultTags;
private readonly string? _serviceName;
private readonly string? _serviceVersion;
private bool _disposed;

/// <summary>
/// Initializes a new instance of the <see cref="ActivitySourceAccessor"/> class.
Expand All @@ -33,9 +33,9 @@ public ActivitySourceAccessor(IOptions<TracingOptions> options)
ValidateDefaultTagNames(tracingOptions.DefaultTags);

this.ActivitySource = new ActivitySource(tracingOptions.ActivitySourceName, tracingOptions.ActivitySourceVersion);
this.serviceName = NormalizeOptionalValue(tracingOptions.ServiceName);
this.serviceVersion = NormalizeOptionalValue(tracingOptions.ServiceVersion);
this.defaultTags = tracingOptions.DefaultTags.ToArray();
_serviceName = NormalizeOptionalValue(tracingOptions.ServiceName);
_serviceVersion = NormalizeOptionalValue(tracingOptions.ServiceVersion);
_defaultTags = tracingOptions.DefaultTags.ToArray();
}

/// <inheritdoc />
Expand All @@ -49,7 +49,7 @@ public ActivitySourceAccessor(IOptions<TracingOptions> options)
IEnumerable<KeyValuePair<string, object?>>? tags = null,
IEnumerable<ActivityLink>? links = null)
{
ObjectDisposedException.ThrowIf(this.disposed, this);
ObjectDisposedException.ThrowIf(_disposed, this);
_ = Guard.AgainstNullOrWhiteSpace(name);

return this.ActivitySource.StartActivity(name, kind, parentContext, this.CreateActivityTags(tags), links);
Expand Down Expand Up @@ -100,13 +100,13 @@ public ActivitySourceAccessor(IOptions<TracingOptions> options)
/// </summary>
public void Dispose()
{
if (this.disposed)
if (_disposed)
{
return;
}

this.ActivitySource.Dispose();
this.disposed = true;
_disposed = true;
}

private static string? NormalizeOptionalValue(string? value)
Expand Down Expand Up @@ -140,17 +140,17 @@ private static void AddIfNotNull(Dictionary<string, object?> tags, string name,

private IEnumerable<KeyValuePair<string, object?>>? CreateActivityTags(IEnumerable<KeyValuePair<string, object?>>? tags)
{
if (this.serviceName is null && this.serviceVersion is null && this.defaultTags.Length == 0)
if (_serviceName is null && _serviceVersion is null && _defaultTags.Length == 0)
{
return tags;
}

var activityTags = new Dictionary<string, object?>(StringComparer.Ordinal);

AddIfNotNull(activityTags, Tags.TracingTagNames.ServiceName, this.serviceName);
AddIfNotNull(activityTags, Tags.TracingTagNames.ServiceVersion, this.serviceVersion);
AddIfNotNull(activityTags, Tags.TracingTagNames.ServiceName, _serviceName);
AddIfNotNull(activityTags, Tags.TracingTagNames.ServiceVersion, _serviceVersion);

foreach (var tag in this.defaultTags)
foreach (var tag in _defaultTags)
{
AddIfNotNull(activityTags, tag.Key, tag.Value);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,9 @@
using Atya.Diagnostics.Tracing.Internal;
using Atya.Diagnostics.Tracing.Options;
using Atya.Foundation.Guards;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;

namespace Atya.Diagnostics.Tracing.DependencyInjection;
namespace Microsoft.Extensions.DependencyInjection;

/// <summary>
/// Service registration extensions for Atya tracing services.
Expand Down
4 changes: 2 additions & 2 deletions src/Tracing/PublicAPI.Unshipped.txt
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ Atya.Diagnostics.Tracing.Context.TraceContextSnapshot.TraceState.get -> string?
Atya.Diagnostics.Tracing.Context.TraceContextSnapshot.TraceState.init -> void
Atya.Diagnostics.Tracing.Context.TraceContextSnapshot.TryGetActivityContext(out System.Diagnostics.ActivityContext activityContext) -> bool
Atya.Diagnostics.Tracing.Context.TraceContextSnapshot.WriteTo(System.Collections.Generic.IDictionary<string!, string!>! headers) -> void
Atya.Diagnostics.Tracing.DependencyInjection.TracingServiceCollectionExtensions
Atya.Diagnostics.Tracing.Extensions.ActivityExtensions
Microsoft.Extensions.DependencyInjection.TracingServiceCollectionExtensions
Atya.Diagnostics.Tracing.Options.TracingOptions
Atya.Diagnostics.Tracing.Options.TracingOptions.AddDefaultTag(string! name, object? value) -> Atya.Diagnostics.Tracing.Options.TracingOptions!
Atya.Diagnostics.Tracing.Options.TracingOptions.ActivitySourceName.get -> string!
Expand Down Expand Up @@ -74,7 +74,6 @@ static Atya.Diagnostics.Tracing.Context.TraceContextSnapshot.FromActivity(System
static Atya.Diagnostics.Tracing.Context.TraceContextSnapshot.operator !=(Atya.Diagnostics.Tracing.Context.TraceContextSnapshot? left, Atya.Diagnostics.Tracing.Context.TraceContextSnapshot? right) -> bool
static Atya.Diagnostics.Tracing.Context.TraceContextSnapshot.operator ==(Atya.Diagnostics.Tracing.Context.TraceContextSnapshot? left, Atya.Diagnostics.Tracing.Context.TraceContextSnapshot? right) -> bool
static Atya.Diagnostics.Tracing.Context.TraceContextSnapshot.TryCaptureCurrent(out Atya.Diagnostics.Tracing.Context.TraceContextSnapshot? snapshot) -> bool
static Atya.Diagnostics.Tracing.DependencyInjection.TracingServiceCollectionExtensions.AddAtyaTracing(this Microsoft.Extensions.DependencyInjection.IServiceCollection! services, System.Action<Atya.Diagnostics.Tracing.Options.TracingOptions!>? configure = null) -> Microsoft.Extensions.DependencyInjection.IServiceCollection!
static Atya.Diagnostics.Tracing.Extensions.ActivityExtensions.MarkError(this System.Diagnostics.Activity! activity, string! errorType, string? message = null) -> System.Diagnostics.Activity!
static Atya.Diagnostics.Tracing.Extensions.ActivityExtensions.MarkError(this System.Diagnostics.Activity! activity, System.Exception! exception) -> System.Diagnostics.Activity!
static Atya.Diagnostics.Tracing.Extensions.ActivityExtensions.MarkSuccess(this System.Diagnostics.Activity! activity) -> System.Diagnostics.Activity!
Expand All @@ -87,3 +86,4 @@ static Atya.Diagnostics.Tracing.Extensions.ActivityExtensions.SetOutcome(this Sy
static Atya.Diagnostics.Tracing.Extensions.ActivityExtensions.SetTagIfNotNull(this System.Diagnostics.Activity! activity, string! name, object? value) -> System.Diagnostics.Activity!
static Atya.Diagnostics.Tracing.Extensions.ActivityExtensions.SetTenantId(this System.Diagnostics.Activity! activity, string! tenantId) -> System.Diagnostics.Activity!
static Atya.Diagnostics.Tracing.Extensions.ActivityExtensions.SetUserId(this System.Diagnostics.Activity! activity, string! userId) -> System.Diagnostics.Activity!
static Microsoft.Extensions.DependencyInjection.TracingServiceCollectionExtensions.AddAtyaTracing(this Microsoft.Extensions.DependencyInjection.IServiceCollection! services, System.Action<Atya.Diagnostics.Tracing.Options.TracingOptions!>? configure = null) -> Microsoft.Extensions.DependencyInjection.IServiceCollection!
1 change: 0 additions & 1 deletion src/Tracing/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ This package intentionally does not configure OpenTelemetry SDK exporters, loggi

```csharp
using Atya.Diagnostics.Tracing.Abstractions;
using Atya.Diagnostics.Tracing.DependencyInjection;
using Atya.Diagnostics.Tracing.Extensions;

services.AddAtyaTracing(options =>
Expand Down
1 change: 0 additions & 1 deletion tests/Tracing.UnitTests/GlobalUsings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
global using Atya.Diagnostics.Tracing.Abstractions;
global using Atya.Diagnostics.Tracing.Activities;
global using Atya.Diagnostics.Tracing.Context;
global using Atya.Diagnostics.Tracing.DependencyInjection;
global using Atya.Diagnostics.Tracing.Extensions;
global using Atya.Diagnostics.Tracing.Options;
global using Atya.Diagnostics.Tracing.Tags;
Expand Down
Loading