From 045db1b62d53290971fbba6a57502744221248a9 Mon Sep 17 00:00:00 2001 From: Mikel Blanchard Date: Fri, 9 Dec 2022 16:38:18 -0800 Subject: [PATCH] Reduce the public api exposed by OpenTelemetry.Extensions.DependencyInjection. (#4001) Co-authored-by: Utkarsh Umesan Pillai --- src/OpenTelemetry.Api/AssemblyInfo.cs | 1 + .../.publicApi/net462/PublicAPI.Unshipped.txt | 12 ------------ .../netstandard2.0/PublicAPI.Unshipped.txt | 12 ------------ .../AssemblyInfo.cs | 15 +-------------- .../Metrics/IConfigureMeterProviderBuilder.cs | 3 ++- .../Metrics/IMeterProviderBuilder.cs | 3 ++- ...elemetry.Extensions.DependencyInjection.csproj | 4 ---- .../Trace/IConfigureTracerProviderBuilder.cs | 3 ++- .../Trace/ITracerProviderBuilder.cs | 3 ++- 9 files changed, 10 insertions(+), 46 deletions(-) diff --git a/src/OpenTelemetry.Api/AssemblyInfo.cs b/src/OpenTelemetry.Api/AssemblyInfo.cs index b6a7065c7..8edcf0904 100644 --- a/src/OpenTelemetry.Api/AssemblyInfo.cs +++ b/src/OpenTelemetry.Api/AssemblyInfo.cs @@ -17,6 +17,7 @@ using System.Runtime.CompilerServices; [assembly: InternalsVisibleTo("OpenTelemetry" + AssemblyInfo.PublicKey)] +[assembly: InternalsVisibleTo("OpenTelemetry.Extensions.DependencyInjection" + AssemblyInfo.PublicKey)] [assembly: InternalsVisibleTo("OpenTelemetry.Tests" + AssemblyInfo.PublicKey)] [assembly: InternalsVisibleTo("OpenTelemetry.Shims.OpenTracing.Tests" + AssemblyInfo.PublicKey)] [assembly: InternalsVisibleTo("DynamicProxyGenAssembly2" + AssemblyInfo.MoqPublicKey)] diff --git a/src/OpenTelemetry.Extensions.DependencyInjection/.publicApi/net462/PublicAPI.Unshipped.txt b/src/OpenTelemetry.Extensions.DependencyInjection/.publicApi/net462/PublicAPI.Unshipped.txt index 61fd6da1f..be2f16554 100644 --- a/src/OpenTelemetry.Extensions.DependencyInjection/.publicApi/net462/PublicAPI.Unshipped.txt +++ b/src/OpenTelemetry.Extensions.DependencyInjection/.publicApi/net462/PublicAPI.Unshipped.txt @@ -1,17 +1,5 @@ -OpenTelemetry.Metrics.IConfigureMeterProviderBuilder -OpenTelemetry.Metrics.IConfigureMeterProviderBuilder.ConfigureBuilder(System.IServiceProvider! serviceProvider, OpenTelemetry.Metrics.MeterProviderBuilder! meterProviderBuilder) -> void -OpenTelemetry.Metrics.IMeterProviderBuilder -OpenTelemetry.Metrics.IMeterProviderBuilder.ConfigureBuilder(System.Action! configure) -> OpenTelemetry.Metrics.MeterProviderBuilder! -OpenTelemetry.Metrics.IMeterProviderBuilder.ConfigureServices(System.Action! configure) -> OpenTelemetry.Metrics.MeterProviderBuilder! -OpenTelemetry.Metrics.IMeterProviderBuilder.Provider.get -> OpenTelemetry.Metrics.MeterProvider? OpenTelemetry.Metrics.OpenTelemetryDependencyInjectionMeterProviderBuilderExtensions OpenTelemetry.Metrics.OpenTelemetryDependencyInjectionMetricsServiceCollectionExtensions -OpenTelemetry.Trace.IConfigureTracerProviderBuilder -OpenTelemetry.Trace.IConfigureTracerProviderBuilder.ConfigureBuilder(System.IServiceProvider! serviceProvider, OpenTelemetry.Trace.TracerProviderBuilder! tracerProviderBuilder) -> void -OpenTelemetry.Trace.ITracerProviderBuilder -OpenTelemetry.Trace.ITracerProviderBuilder.ConfigureBuilder(System.Action! configure) -> OpenTelemetry.Trace.TracerProviderBuilder! -OpenTelemetry.Trace.ITracerProviderBuilder.ConfigureServices(System.Action! configure) -> OpenTelemetry.Trace.TracerProviderBuilder! -OpenTelemetry.Trace.ITracerProviderBuilder.Provider.get -> OpenTelemetry.Trace.TracerProvider? OpenTelemetry.Trace.OpenTelemetryDependencyInjectionTracerProviderBuilderExtensions OpenTelemetry.Trace.OpenTelemetryDependencyInjectionTracingServiceCollectionExtensions static OpenTelemetry.Metrics.OpenTelemetryDependencyInjectionMeterProviderBuilderExtensions.AddInstrumentation(this OpenTelemetry.Metrics.MeterProviderBuilder! meterProviderBuilder) -> OpenTelemetry.Metrics.MeterProviderBuilder! diff --git a/src/OpenTelemetry.Extensions.DependencyInjection/.publicApi/netstandard2.0/PublicAPI.Unshipped.txt b/src/OpenTelemetry.Extensions.DependencyInjection/.publicApi/netstandard2.0/PublicAPI.Unshipped.txt index 61fd6da1f..be2f16554 100644 --- a/src/OpenTelemetry.Extensions.DependencyInjection/.publicApi/netstandard2.0/PublicAPI.Unshipped.txt +++ b/src/OpenTelemetry.Extensions.DependencyInjection/.publicApi/netstandard2.0/PublicAPI.Unshipped.txt @@ -1,17 +1,5 @@ -OpenTelemetry.Metrics.IConfigureMeterProviderBuilder -OpenTelemetry.Metrics.IConfigureMeterProviderBuilder.ConfigureBuilder(System.IServiceProvider! serviceProvider, OpenTelemetry.Metrics.MeterProviderBuilder! meterProviderBuilder) -> void -OpenTelemetry.Metrics.IMeterProviderBuilder -OpenTelemetry.Metrics.IMeterProviderBuilder.ConfigureBuilder(System.Action! configure) -> OpenTelemetry.Metrics.MeterProviderBuilder! -OpenTelemetry.Metrics.IMeterProviderBuilder.ConfigureServices(System.Action! configure) -> OpenTelemetry.Metrics.MeterProviderBuilder! -OpenTelemetry.Metrics.IMeterProviderBuilder.Provider.get -> OpenTelemetry.Metrics.MeterProvider? OpenTelemetry.Metrics.OpenTelemetryDependencyInjectionMeterProviderBuilderExtensions OpenTelemetry.Metrics.OpenTelemetryDependencyInjectionMetricsServiceCollectionExtensions -OpenTelemetry.Trace.IConfigureTracerProviderBuilder -OpenTelemetry.Trace.IConfigureTracerProviderBuilder.ConfigureBuilder(System.IServiceProvider! serviceProvider, OpenTelemetry.Trace.TracerProviderBuilder! tracerProviderBuilder) -> void -OpenTelemetry.Trace.ITracerProviderBuilder -OpenTelemetry.Trace.ITracerProviderBuilder.ConfigureBuilder(System.Action! configure) -> OpenTelemetry.Trace.TracerProviderBuilder! -OpenTelemetry.Trace.ITracerProviderBuilder.ConfigureServices(System.Action! configure) -> OpenTelemetry.Trace.TracerProviderBuilder! -OpenTelemetry.Trace.ITracerProviderBuilder.Provider.get -> OpenTelemetry.Trace.TracerProvider? OpenTelemetry.Trace.OpenTelemetryDependencyInjectionTracerProviderBuilderExtensions OpenTelemetry.Trace.OpenTelemetryDependencyInjectionTracingServiceCollectionExtensions static OpenTelemetry.Metrics.OpenTelemetryDependencyInjectionMeterProviderBuilderExtensions.AddInstrumentation(this OpenTelemetry.Metrics.MeterProviderBuilder! meterProviderBuilder) -> OpenTelemetry.Metrics.MeterProviderBuilder! diff --git a/src/OpenTelemetry.Extensions.DependencyInjection/AssemblyInfo.cs b/src/OpenTelemetry.Extensions.DependencyInjection/AssemblyInfo.cs index f07bd3cd4..38fe526bb 100644 --- a/src/OpenTelemetry.Extensions.DependencyInjection/AssemblyInfo.cs +++ b/src/OpenTelemetry.Extensions.DependencyInjection/AssemblyInfo.cs @@ -16,18 +16,5 @@ using System.Runtime.CompilerServices; +[assembly: InternalsVisibleTo("OpenTelemetry" + AssemblyInfo.PublicKey)] [assembly: InternalsVisibleTo("OpenTelemetry.Extensions.DependencyInjection.Tests" + AssemblyInfo.PublicKey)] - -#if SIGNED -internal static class AssemblyInfo -{ - public const string PublicKey = ", PublicKey=002400000480000094000000060200000024000052534131000400000100010051C1562A090FB0C9F391012A32198B5E5D9A60E9B80FA2D7B434C9E5CCB7259BD606E66F9660676AFC6692B8CDC6793D190904551D2103B7B22FA636DCBB8208839785BA402EA08FC00C8F1500CCEF28BBF599AA64FFB1E1D5DC1BF3420A3777BADFE697856E9D52070A50C3EA5821C80BEF17CA3ACFFA28F89DD413F096F898"; - public const string MoqPublicKey = ", PublicKey=0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7"; -} -#else -internal static class AssemblyInfo -{ - public const string PublicKey = ""; - public const string MoqPublicKey = ""; -} -#endif diff --git a/src/OpenTelemetry.Extensions.DependencyInjection/Metrics/IConfigureMeterProviderBuilder.cs b/src/OpenTelemetry.Extensions.DependencyInjection/Metrics/IConfigureMeterProviderBuilder.cs index 0176e2be7..5021c4274 100644 --- a/src/OpenTelemetry.Extensions.DependencyInjection/Metrics/IConfigureMeterProviderBuilder.cs +++ b/src/OpenTelemetry.Extensions.DependencyInjection/Metrics/IConfigureMeterProviderBuilder.cs @@ -19,7 +19,8 @@ namespace OpenTelemetry.Metrics; /// /// Represents something that configures the type. /// -public interface IConfigureMeterProviderBuilder +// Note: This API may be made public if there is a need for it. +internal interface IConfigureMeterProviderBuilder { /// /// Invoked to configure a instance. diff --git a/src/OpenTelemetry.Extensions.DependencyInjection/Metrics/IMeterProviderBuilder.cs b/src/OpenTelemetry.Extensions.DependencyInjection/Metrics/IMeterProviderBuilder.cs index 8b0766bf9..40545a4b9 100644 --- a/src/OpenTelemetry.Extensions.DependencyInjection/Metrics/IMeterProviderBuilder.cs +++ b/src/OpenTelemetry.Extensions.DependencyInjection/Metrics/IMeterProviderBuilder.cs @@ -21,7 +21,8 @@ namespace OpenTelemetry.Metrics; /// /// Describes a backed by an . /// -public interface IMeterProviderBuilder : IDeferredMeterProviderBuilder +// Note: This API may be made public if there is a need for it. +internal interface IMeterProviderBuilder : IDeferredMeterProviderBuilder { /// /// Gets the being constructed by the builder. diff --git a/src/OpenTelemetry.Extensions.DependencyInjection/OpenTelemetry.Extensions.DependencyInjection.csproj b/src/OpenTelemetry.Extensions.DependencyInjection/OpenTelemetry.Extensions.DependencyInjection.csproj index 4655980dd..426e968f7 100644 --- a/src/OpenTelemetry.Extensions.DependencyInjection/OpenTelemetry.Extensions.DependencyInjection.csproj +++ b/src/OpenTelemetry.Extensions.DependencyInjection/OpenTelemetry.Extensions.DependencyInjection.csproj @@ -13,10 +13,6 @@ false - - - - diff --git a/src/OpenTelemetry.Extensions.DependencyInjection/Trace/IConfigureTracerProviderBuilder.cs b/src/OpenTelemetry.Extensions.DependencyInjection/Trace/IConfigureTracerProviderBuilder.cs index f09bcc05a..5e9f078d8 100644 --- a/src/OpenTelemetry.Extensions.DependencyInjection/Trace/IConfigureTracerProviderBuilder.cs +++ b/src/OpenTelemetry.Extensions.DependencyInjection/Trace/IConfigureTracerProviderBuilder.cs @@ -19,7 +19,8 @@ namespace OpenTelemetry.Trace; /// /// Represents something that configures the type. /// -public interface IConfigureTracerProviderBuilder +// Note: This API may be made public if there is a need for it. +internal interface IConfigureTracerProviderBuilder { /// /// Invoked to configure a instance. diff --git a/src/OpenTelemetry.Extensions.DependencyInjection/Trace/ITracerProviderBuilder.cs b/src/OpenTelemetry.Extensions.DependencyInjection/Trace/ITracerProviderBuilder.cs index bfb3e499c..06449a2d5 100644 --- a/src/OpenTelemetry.Extensions.DependencyInjection/Trace/ITracerProviderBuilder.cs +++ b/src/OpenTelemetry.Extensions.DependencyInjection/Trace/ITracerProviderBuilder.cs @@ -21,7 +21,8 @@ namespace OpenTelemetry.Trace; /// /// Describes a backed by an . /// -public interface ITracerProviderBuilder : IDeferredTracerProviderBuilder +// Note: This API may be made public if there is a need for it. +internal interface ITracerProviderBuilder : IDeferredTracerProviderBuilder { /// /// Gets the being constructed by the builder.