From 6429ae2f574788a1f9237a42c86f71c9f781e3e2 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Sat, 26 Aug 2023 10:21:12 +0800 Subject: [PATCH] Reduce logger allocations by not using generic CreateLogger (#2256) --- src/Grpc.Net.Client/Balancer/DnsResolver.cs | 2 +- .../Balancer/Internal/BalancerHttpHandler.cs | 4 ++-- src/Grpc.Net.Client/Balancer/Internal/ConnectionManager.cs | 2 +- .../Internal/SocketConnectivitySubchannelTransport.cs | 2 +- src/Grpc.Net.Client/Balancer/PickFirstBalancer.cs | 2 +- src/Grpc.Net.Client/Balancer/PollingResolver.cs | 2 +- src/Grpc.Net.Client/GrpcChannel.cs | 2 +- .../Internal/Retry/ChannelRetryThrottling.cs | 6 +++--- 8 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/Grpc.Net.Client/Balancer/DnsResolver.cs b/src/Grpc.Net.Client/Balancer/DnsResolver.cs index 234081ca9..2ae026594 100644 --- a/src/Grpc.Net.Client/Balancer/DnsResolver.cs +++ b/src/Grpc.Net.Client/Balancer/DnsResolver.cs @@ -59,7 +59,7 @@ public DnsResolver(Uri address, int defaultPort, ILoggerFactory loggerFactory, T _dnsAddress = addressParsed.Host; _port = addressParsed.Port == -1 ? defaultPort : addressParsed.Port; _refreshInterval = refreshInterval; - _logger = loggerFactory.CreateLogger(); + _logger = loggerFactory.CreateLogger(typeof(DnsResolver)); } protected override void OnStarted() diff --git a/src/Grpc.Net.Client/Balancer/Internal/BalancerHttpHandler.cs b/src/Grpc.Net.Client/Balancer/Internal/BalancerHttpHandler.cs index b83554334..9b7659ef0 100644 --- a/src/Grpc.Net.Client/Balancer/Internal/BalancerHttpHandler.cs +++ b/src/Grpc.Net.Client/Balancer/Internal/BalancerHttpHandler.cs @@ -1,4 +1,4 @@ -#region Copyright notice and license +#region Copyright notice and license // Copyright 2019 The gRPC Authors // @@ -45,7 +45,7 @@ public BalancerHttpHandler(HttpMessageHandler innerHandler, ConnectionManager ma : base(innerHandler) { _manager = manager; - _logger = manager.LoggerFactory.CreateLogger(); + _logger = manager.LoggerFactory.CreateLogger(typeof(BalancerHttpHandler)); } internal static bool IsSocketsHttpHandlerSetup(SocketsHttpHandler socketsHttpHandler) diff --git a/src/Grpc.Net.Client/Balancer/Internal/ConnectionManager.cs b/src/Grpc.Net.Client/Balancer/Internal/ConnectionManager.cs index d0084db24..68fea1649 100644 --- a/src/Grpc.Net.Client/Balancer/Internal/ConnectionManager.cs +++ b/src/Grpc.Net.Client/Balancer/Internal/ConnectionManager.cs @@ -61,7 +61,7 @@ internal ConnectionManager( _resolverStartedTcs = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); _channelId = _channelIdProvider.GetNextChannelId(); - Logger = loggerFactory.CreateLogger(); + Logger = loggerFactory.CreateLogger(typeof(ConnectionManager)); LoggerFactory = loggerFactory; BackoffPolicyFactory = backoffPolicyFactory; _subchannels = new List(); diff --git a/src/Grpc.Net.Client/Balancer/Internal/SocketConnectivitySubchannelTransport.cs b/src/Grpc.Net.Client/Balancer/Internal/SocketConnectivitySubchannelTransport.cs index 4e8216cf2..1cb84e697 100644 --- a/src/Grpc.Net.Client/Balancer/Internal/SocketConnectivitySubchannelTransport.cs +++ b/src/Grpc.Net.Client/Balancer/Internal/SocketConnectivitySubchannelTransport.cs @@ -69,7 +69,7 @@ public SocketConnectivitySubchannelTransport( ILoggerFactory loggerFactory, Func? socketConnect) { - _logger = loggerFactory.CreateLogger(); + _logger = loggerFactory.CreateLogger(typeof(SocketConnectivitySubchannelTransport)); _subchannel = subchannel; _socketPingInterval = socketPingInterval; ConnectTimeout = connectTimeout; diff --git a/src/Grpc.Net.Client/Balancer/PickFirstBalancer.cs b/src/Grpc.Net.Client/Balancer/PickFirstBalancer.cs index f22843fe4..16a8a8f31 100644 --- a/src/Grpc.Net.Client/Balancer/PickFirstBalancer.cs +++ b/src/Grpc.Net.Client/Balancer/PickFirstBalancer.cs @@ -49,7 +49,7 @@ internal sealed class PickFirstBalancer : LoadBalancer public PickFirstBalancer(IChannelControlHelper controller, ILoggerFactory loggerFactory) { _controller = controller; - _logger = loggerFactory.CreateLogger(); + _logger = loggerFactory.CreateLogger(typeof(PickFirstBalancer)); } private void ResolverError(Status status) diff --git a/src/Grpc.Net.Client/Balancer/PollingResolver.cs b/src/Grpc.Net.Client/Balancer/PollingResolver.cs index fd88e155a..f5c9aea61 100644 --- a/src/Grpc.Net.Client/Balancer/PollingResolver.cs +++ b/src/Grpc.Net.Client/Balancer/PollingResolver.cs @@ -72,7 +72,7 @@ protected PollingResolver(ILoggerFactory loggerFactory, IBackoffPolicyFactory? b { ArgumentNullThrowHelper.ThrowIfNull(loggerFactory); - _logger = loggerFactory.CreateLogger(); + _logger = loggerFactory.CreateLogger(typeof(PollingResolver)); _backoffPolicyFactory = backoffPolicyFactory; } diff --git a/src/Grpc.Net.Client/GrpcChannel.cs b/src/Grpc.Net.Client/GrpcChannel.cs index aebfe787a..71adcda91 100644 --- a/src/Grpc.Net.Client/GrpcChannel.cs +++ b/src/Grpc.Net.Client/GrpcChannel.cs @@ -118,7 +118,7 @@ internal GrpcChannel(Uri address, GrpcChannelOptions channelOptions) : base(addr OperatingSystem = channelOptions.ResolveService(Internal.OperatingSystem.Instance); RandomGenerator = channelOptions.ResolveService(new RandomGenerator()); Debugger = channelOptions.ResolveService(new CachedDebugger()); - Logger = LoggerFactory.CreateLogger(); + Logger = LoggerFactory.CreateLogger(typeof(GrpcChannel)); #if SUPPORT_LOAD_BALANCING InitialReconnectBackoff = channelOptions.InitialReconnectBackoff; diff --git a/src/Grpc.Net.Client/Internal/Retry/ChannelRetryThrottling.cs b/src/Grpc.Net.Client/Internal/Retry/ChannelRetryThrottling.cs index 3b8fc0b65..2cbe4d3fd 100644 --- a/src/Grpc.Net.Client/Internal/Retry/ChannelRetryThrottling.cs +++ b/src/Grpc.Net.Client/Internal/Retry/ChannelRetryThrottling.cs @@ -1,4 +1,4 @@ -#region Copyright notice and license +#region Copyright notice and license // Copyright 2019 The gRPC Authors // @@ -26,7 +26,7 @@ internal class ChannelRetryThrottling private readonly object _lock = new object(); private readonly double _tokenRatio; private readonly int _maxTokens; - private readonly ILogger _logger; + private readonly ILogger _logger; private double _tokenCount; private readonly double _tokenThreshold; @@ -41,7 +41,7 @@ public ChannelRetryThrottling(int maxTokens, double tokenRatio, ILoggerFactory l _maxTokens = maxTokens; _tokenCount = maxTokens; _tokenThreshold = _tokenCount / 2; - _logger = loggerFactory.CreateLogger(); + _logger = loggerFactory.CreateLogger(typeof(ChannelRetryThrottling)); } public bool IsRetryThrottlingActive()