Skip to content

Release 1.2.0#3135

Merged
Kielek merged 8 commits into
open-telemetry:mainfrom
Kielek:release-1.2.0
Nov 21, 2023
Merged

Release 1.2.0#3135
Kielek merged 8 commits into
open-telemetry:mainfrom
Kielek:release-1.2.0

Conversation

@Kielek
Copy link
Copy Markdown
Member

@Kielek Kielek commented Nov 20, 2023

Why & What

Added

  • Add support for .NET 8.
  • Added support for System.Data.SqlClient
    (NuGet package) traces instrumentation from 4.8.5.
  • Ability to update installation via PS module (OpenTelemetry.DotNet.Auto.psm1).

Changed

Dependency updates

  • .NET Framework only, Grpc.Core.Api updated from 2.57.0 to 2.59.0.
  • .NET only, OpenTelemetry.Instrumentation.EntityFrameworkCore updated
    from 1.0.0-beta.7 to 1.0.0-beta.8.
  • .NET only, OpenTelemetry.Instrumentation.AspNetCore updated
    from 1.5.1-beta.1 to 1.6.0-beta.3.
  • OpenTelemetry.Instrumentation.GrpcNetClient,
    and OpenTelemetry.Instrumentation.Http
    updated from 1.5.1-beta.1 to 1.6.0-beta.3.
  • OpenTelemetry.Instrumentation.SqlClient updated from 1.5.1-beta.1 to 1.6.0-beta.2.
  • .NET only, OpenTelemetry.Instrumentation.StackExchangeRedis updated
    from 1.0.0-rc9.10 to 1.0.0-rc9.12.
  • .NET Framework only, Google.Protobuf updated from 3.24.4 to 3.25.1.
  • .NET Framework only, OpenTelemetry.Instrumentation.AspNet and
    OpenTelemetry.Instrumentation.AspNet.TelemetryHttpModule updated from
    1.6.0-beta.1 to 1.6.0-beta.2.
  • OpenTelemetry.Instrumentation.Wcf updated from 1.0.0-rc.12 to 1.0.0-rc.13.
  • .NET Framework only, following packages updated
    • Microsoft.Bcl.AsyncInterfaces from 7.0.0 to 8.0.0,
    • Microsoft.Extensions.Configuration from 7.0.0 to 8.0.0,
    • Microsoft.Extensions.Configuration.Abstractions from 7.0.0 to 8.0.0,
    • Microsoft.Extensions.Configuration.Binder from 7.0.4 to 8.0.0,
    • Microsoft.Extensions.DependencyInjection from 7.0.0 to 8.0.0,
    • Microsoft.Extensions.DependencyInjection.Abstractions from 7.0.0 to 8.0.0,
    • Microsoft.Extensions.Logging from 7.0.0 to 8.0.0,
    • Microsoft.Extensions.Options from 7.0.1 to 8.0.0,
    • Microsoft.Extensions.Options.ConfigurationExtensions from 7.0.0 to 8.0.0,
    • Microsoft.Extensions.Primitives from 7.0.0 to 8.0.0,
    • System.Text.Encodings.Web from 7.0.0 to 8.0.0,
    • System.Text.Json from 7.0.3 to 8.0.0.
  • Following packages updated
    • Microsoft.Extensions.Logging.Abstractions from 7.0.1 to 8.0.0,
    • Microsoft.Extensions.Logging.Configuration from 7.0.0 to 8.0.0,
    • System.Diagnostics.DiagnosticSource from 7.0.2 to 8.0.0.

Removed

  • Removed support for OpenTelemetry.Instrumentation.AspNetCore.AspNetCoreMetricsInstrumentationOptions
    for plugins.

Tests

  • CI
  • MacOS with Linux Containers
  • Windows with Linux Containers - passed after tests adjustment

Checklist

  • CHANGELOG.md is updated.
  • Documentation is updated.
  • [ ] New features are covered by tests.

@Kielek Kielek requested a review from a team November 20, 2023 10:42
@Kielek
Copy link
Copy Markdown
Member Author

Kielek commented Nov 20, 2023

IntegrationTests.AzureTests.SubmitsTraces("12.13.0") is failing on .NET Framework 4.6.2 executed on Windows with Linux Containers by nuke Workflow.

More investigation: it is failing for all version [12.13.0-12.17.0]. Test is passing on 12.18.0 , 12.19.0 and 12.19.1.

@rajkumar-rangaraj, FYI

EDIT: Logs attached: profiler-logs.zip
EDIT2: We need to find a way to execute .NETFx tests depending on Linux docker image in CI

@pellared
Copy link
Copy Markdown
Member

Passed on macOS.

@Kielek
Copy link
Copy Markdown
Member Author

Kielek commented Nov 21, 2023

Azure.Storage.Blobs 12.17.0 and lowers together with dependencies is compiled against System.Diagnostics.DiagnosticSource 4.6.0.
It was changed in 12.18.0 by Azure/azure-sdk-for-net#37418 and bumped to 6.0.1.

Lets consider TestApplication.Azure for 2.17.0 executed on .NET Fx 4.6.2

for our release v1.1.0 without changes

<PackageReference Include="Azure.Storage.Blobs" VersionOverride="$(LibraryVersion)" />  <!-- 12.17.0 compiled against S.D.DS 4.6.0 -->
<PackageReference Include="System.Diagnostics.DiagnosticSource" /> <!-- 7.0.2 -->

In runtime it will load only System.Diagnostics.DiagnosticSource 7.0.2 from local application folder.

For our release v1.1.0 with removed reference to System.Diagnostics.DiagnosticSource

<PackageReference Include="Azure.Storage.Blobs" VersionOverride="$(LibraryVersion)" />  <!-- 12.17.0 compiled against S.D.DS 4.6.0 -->

In runtime it will load System.Diagnostics.DiagnosticSource 7.0.2 from tracer-home folder and 4.x from local application folder.

Lets consider code from this branch, commit: 3d36fed (before Azure test fix)

<PackageReference Include="Azure.Storage.Blobs" VersionOverride="$(LibraryVersion)" />  <!-- 12.17.0 compiled against S.D.DS 4.6.0 -->
<PackageReference Include="System.Diagnostics.DiagnosticSource" /> <!-- 7.0.2 -->

In runtime it will load System.Diagnostics.DiagnosticSource 8.0.0 from tracer-home folder and 7.0.2 from local application folder.

Test azure commit fix: 6a43c05

<PackageReference Include="Azure.Storage.Blobs" VersionOverride="$(LibraryVersion)" />  <!-- 12.17.0 compiled against S.D.DS 4.6.0 -->
<PackageReference Include="System.Diagnostics.DiagnosticSource" Condition=" '$(TargetFramework)' == 'net6.0' " /> <!-- N/A -->
<PackageReference Include="System.Diagnostics.DiagnosticSource" VersionOverride="8.0.0" Condition=" '$(TargetFramework)' == 'net462' and '$(LibraryVersion)' != '' and '$(LibraryVersion)'&lt;'12.18.0' " /> <!-- 8.0.0 -->

In runtime it will load System.Diagnostics.DiagnosticSource 8.0.0 from local application folder.
If we fully remove reference to System.Diagnostics.DiagnosticSource it will work similar to v1.1.0 release. In runtime it will load System.Diagnostics.DiagnosticSource 8.0.0 from tracer-home folder and 4.x from local application folder.

2 versions of the System.Diagnostics.DiagnosticSource are loaded to the same, main, app domain. It leads to the scenario where spans/activities are not registered by OpenTelemetry SDK.

'Azure.Storage.Blobs' 12.18.0+ with dependencies is compiled againsts System.Diagnostics.DiagnosticSource 6.0.1. Redirections seems to be working fine for this version. All expected spans are recorder.

Proposal:

@Kielek Kielek enabled auto-merge (squash) November 21, 2023 17:51
@Kielek Kielek merged commit 077dacf into open-telemetry:main Nov 21, 2023
@Kielek Kielek deleted the release-1.2.0 branch November 21, 2023 18:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants