Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 1.8.0 #3667

Merged
merged 3 commits into from
Sep 27, 2024
Merged

Release 1.8.0 #3667

merged 3 commits into from
Sep 27, 2024

Conversation

Kielek
Copy link
Contributor

@Kielek Kielek commented Sep 26, 2024

Why

Fixes #3624

What - 1.8.0

Added

  • Support for Operating System resource detector.
  • Support for RabbitMQ.Client
    traces instrumentation for versions 6.0.0-6.*.*
  • Support for NServiceBus 9.1+ metrics instrumentations.
  • Added support for OTEL_TRACES_EXPORTER, OTEL_METRICS_EXPORTER, OTEL_LOGS_EXPORTER
    to handle comma-separated list.
  • The environment variables OTEL_TRACES_EXPORTER, OTEL_METRICS_EXPORTER,
    and OTEL_LOGS_EXPORTER now support configuring console exporters for traces,
    metrics, and logs, respectively.
  • Support signal specific OTLP exporter variables (See docs):
    • OTEL_EXPORTER_OTLP_TRACES_ENDPOINT,
    • OTEL_EXPORTER_OTLP_TRACES_HEADERS,
    • OTEL_EXPORTER_OTLP_TRACES_TIMEOUT,
    • OTEL_EXPORTER_OTLP_TRACES_PROTOCOL,
    • OTEL_EXPORTER_OTLP_METRICS_ENDPOINT,
    • OTEL_EXPORTER_OTLP_METRICS_HEADERS,
    • OTEL_EXPORTER_OTLP_METRICS_TIMEOUT,
    • OTEL_EXPORTER_OTLP_METRICS_PROTOCOL,
    • OTEL_EXPORTER_OTLP_LOGS_ENDPOINT,
    • OTEL_EXPORTER_OTLP_LOGS_HEADERS,
    • OTEL_EXPORTER_OTLP_LOGS_TIMEOUT,
    • OTEL_EXPORTER_OTLP_LOGS_PROTOCOL.
  • Support for air-gapped installations through DOWNLOAD_DIR or LOCAL_PATH
    arguments to otel-dotnet-auto-install.sh.
  • Added OTEL_DOTNET_AUTO_LOGGER to select preferred sink for AutoInstrumentation
    diagnostic logs.
  • Issue a warning before publish if auto-instrumentation NuGet
    package is referenced and runtime identifier is not specified.

Changed

  • More restrictive handling of invalid values in comma-separated lists.
    When invalid value is recognized (unsupported option, supported option
    with leading or trailing whitespaces, empty value, duplicate)
    warning is logged, and if FailFast is enabled, exception is thrown.
  • Referencing OpenTelemetry.AutoInstrumentation manually no longer visibly injects
    instrumentation scripts into projects in an editor's solution window.

Dependency updates

  • Following packages updated
    • MongoDB.Driver.Core.Extensions.DiagnosticSources from 1.4.0 to 1.5.0,
    • OpenTelemetry.Exporter.Prometheus.HttpListener from 1.9.0-beta.1 to 1.9.0-beta.2,
    • OpenTelemetry.Instrumentation.Process from 0.5.0-beta.6 to 0.5.0-beta.7,
    • OpenTelemetry.Resources.Azure from 1.0.0-beta.8 to 1.0.0-beta.9,
    • OpenTelemetry.Resources.Host from 0.1.0-beta.2 to 0.1.0-beta.3,
    • OpenTelemetry.Resources.Process from 0.1.0-beta.2 to 0.1.0-beta.3,
    • OpenTelemetry.Shims.OpenTracing from 1.9.0-beta.1 to 1.9.0-beta.2.
  • .NET only, following packages updated
    • OpenTelemetry.Instrumentation.StackExchangeRedis from 1.0.0-rc9.15 to 1.9.0-beta.1.
  • .NET Framework only, following packages updated
    • Google.Protobuf updated from 3.27.1 to 3.28.2,
    • Grpc.Core.Api from 2.63.0 to 2.66.0,
    • Microsoft.Extensions.Configuration.Binder from 8.0.1 to 8.0.2,
    • System.Text.Json from 8.0.3 to 8.0.4.

Deprecated

  • Environment variables OTEL_DOTNET_AUTO_TRACES_CONSOLE_EXPORTER_ENABLED,
    OTEL_DOTNET_AUTO_METRICS_CONSOLE_EXPORTER_ENABLED, and
    OTEL_DOTNET_AUTO_LOGS_CONSOLE_EXPORTER_ENABLED are now marked as deprecated.

Removed

  • Support for macOS Big Sur 11 x64.
    macOs libraries are built and tested against macOS Monterey 12 x64.
  • Support for MongoDB.Driver.Core < 2.28.0.
  • Support for StackExchange.Redis < 2.6.122.

Fixed

  • Initialize WCF instrumentation only when necessary (#3650)

Tests

  • CI
  • MacOS with Linux Containers
  • Windows with Linux Containers

Checklist

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

@Kielek Kielek requested a review from a team as a code owner September 26, 2024 04:11
@Kielek
Copy link
Contributor Author

Kielek commented Sep 26, 2024

Tests fail locally for Windows: RunManagedIntegratio: [xUnit.net 00:09:20.89] IntegrationTests.MongoDBTests.SubmitsTraces(packageVersion: "2.29.0") [FAIL]

From the logs:

[2024-09-26T06:23:46.2073304Z] [Debug] EventSource=OpenTelemetry-AutoInstrumentation-Loader, Message=Requester [<null>] requested [MongoDB.Driver.Core, Version=2.28.0.0, Culture=neutral, PublicKeyToken=94992a530f44e321] 
[2024-09-26T06:23:46.2920125Z] [Debug] EventSource=OpenTelemetry-AutoInstrumentation-Loader, Message=Requester [<null>] requested [MongoDB.Driver.Core, Version=2.28.0.0, Culture=neutral, PublicKeyToken=94992a530f44e321] 
[2024-09-26T06:23:46.3390112Z] [Error] Could not load file or assembly 'MongoDB.Driver.Core, Version=2.28.0.0, Culture=neutral, PublicKeyToken=94992a530f44e321' or one of its dependencies. The system cannot find the file specified.
Exception: Could not load file or assembly 'MongoDB.Driver.Core, Version=2.28.0.0, Culture=neutral, PublicKeyToken=94992a530f44e321' or one of its dependencies. The system cannot find the file specified.
System.IO.FileNotFoundException: Could not load file or assembly 'MongoDB.Driver.Core, Version=2.28.0.0, Culture=neutral, PublicKeyToken=94992a530f44e321' or one of its dependencies. The system cannot find the file specified.
File name: 'MongoDB.Driver.Core, Version=2.28.0.0, Culture=neutral, PublicKeyToken=94992a530f44e321'
   at System.Signature.GetSignature(Void* pCorSig, Int32 cCorSig, RuntimeFieldHandleInternal fieldHandle, IRuntimeMethodInfo methodHandle, RuntimeType declaringType)
   at System.Reflection.RuntimeMethodInfo.InvokeArgumentsCheck(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Reflection.RuntimePropertyInfo.SetValue(Object obj, Object value, Object[] index)
   at OpenTelemetry.AutoInstrumentation.Instrumentations.MongoDB.MongoClientIntegration.GetInstrumentationOptions()
   at OpenTelemetry.AutoInstrumentation.Instrumentations.MongoDB.MongoClientIntegration.GetClusterConfiguratorExpression()
   at OpenTelemetry.AutoInstrumentation.Instrumentations.MongoDB.MongoClientIntegration.OnMethodBegin[TTarget,TMongoClientSettings](TTarget instance, TMongoClientSettings settings)
   at OpenTelemetry.AutoInstrumentation.CallTarget.Handlers.BeginMethodHandler`3.Invoke(TTarget instance, TArg1& arg1)
   at MongoDB.Driver.MongoClient..ctor(MongoClientSettings settings)

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

Will be discussed by #3668

Copy link
Contributor

@lachmatt lachmatt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Requires #3668 or alternative solution

Copy link
Contributor

@pjanotti pjanotti left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After #3668 is merged it should be good to go

@Kielek Kielek closed this in #3668 Sep 27, 2024
@Kielek Kielek reopened this Sep 27, 2024
@Kielek
Copy link
Contributor Author

Kielek commented Sep 27, 2024

Tests fail locally for Windows: RunManagedIntegratio: [xUnit.net 00:09:20.89] IntegrationTests.MongoDBTests.SubmitsTraces(packageVersion: "2.29.0") [FAIL]

From the logs:

[2024-09-26T06:23:46.2073304Z] [Debug] EventSource=OpenTelemetry-AutoInstrumentation-Loader, Message=Requester [<null>] requested [MongoDB.Driver.Core, Version=2.28.0.0, Culture=neutral, PublicKeyToken=94992a530f44e321] 
[2024-09-26T06:23:46.2920125Z] [Debug] EventSource=OpenTelemetry-AutoInstrumentation-Loader, Message=Requester [<null>] requested [MongoDB.Driver.Core, Version=2.28.0.0, Culture=neutral, PublicKeyToken=94992a530f44e321] 
[2024-09-26T06:23:46.3390112Z] [Error] Could not load file or assembly 'MongoDB.Driver.Core, Version=2.28.0.0, Culture=neutral, PublicKeyToken=94992a530f44e321' or one of its dependencies. The system cannot find the file specified.
Exception: Could not load file or assembly 'MongoDB.Driver.Core, Version=2.28.0.0, Culture=neutral, PublicKeyToken=94992a530f44e321' or one of its dependencies. The system cannot find the file specified.
System.IO.FileNotFoundException: Could not load file or assembly 'MongoDB.Driver.Core, Version=2.28.0.0, Culture=neutral, PublicKeyToken=94992a530f44e321' or one of its dependencies. The system cannot find the file specified.
File name: 'MongoDB.Driver.Core, Version=2.28.0.0, Culture=neutral, PublicKeyToken=94992a530f44e321'
   at System.Signature.GetSignature(Void* pCorSig, Int32 cCorSig, RuntimeFieldHandleInternal fieldHandle, IRuntimeMethodInfo methodHandle, RuntimeType declaringType)
   at System.Reflection.RuntimeMethodInfo.InvokeArgumentsCheck(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Reflection.RuntimePropertyInfo.SetValue(Object obj, Object value, Object[] index)
   at OpenTelemetry.AutoInstrumentation.Instrumentations.MongoDB.MongoClientIntegration.GetInstrumentationOptions()
   at OpenTelemetry.AutoInstrumentation.Instrumentations.MongoDB.MongoClientIntegration.GetClusterConfiguratorExpression()
   at OpenTelemetry.AutoInstrumentation.Instrumentations.MongoDB.MongoClientIntegration.OnMethodBegin[TTarget,TMongoClientSettings](TTarget instance, TMongoClientSettings settings)
   at OpenTelemetry.AutoInstrumentation.CallTarget.Handlers.BeginMethodHandler`3.Invoke(TTarget instance, TArg1& arg1)
   at MongoDB.Driver.MongoClient..ctor(MongoClientSettings settings)

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

Will be discussed by #3668

Passed with fixes.

@pellared
Copy link
Member

Passed on my macOS.

I had to made a little change to make the SqlClient passing: #3673. Not a blocker.

@Kielek Kielek merged commit 987436a into open-telemetry:main Sep 27, 2024
41 checks passed
@Kielek Kielek deleted the release-1.8.0 branch September 27, 2024 09:08
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.

Releasing 1.8.0
6 participants