From d4ed4f7050673785d0c0c2531b9d4041583fb0c3 Mon Sep 17 00:00:00 2001 From: James Newton-King Date: Tue, 25 Feb 2020 07:29:34 +1300 Subject: [PATCH] Eliminate enum boxing allocations from Kestrel HTTP2 logging (#19277) --- .../Core/src/Internal/Infrastructure/KestrelTrace.cs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/Servers/Kestrel/Core/src/Internal/Infrastructure/KestrelTrace.cs b/src/Servers/Kestrel/Core/src/Internal/Infrastructure/KestrelTrace.cs index 1eac5326e2..f89732a704 100644 --- a/src/Servers/Kestrel/Core/src/Internal/Infrastructure/KestrelTrace.cs +++ b/src/Servers/Kestrel/Core/src/Internal/Infrastructure/KestrelTrace.cs @@ -272,12 +272,18 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure public void Http2FrameReceived(string connectionId, Http2Frame frame) { - _http2FrameReceived(_logger, connectionId, frame.Type, frame.StreamId, frame.PayloadLength, frame.ShowFlags(), null); + if (_logger.IsEnabled(LogLevel.Trace)) + { + _http2FrameReceived(_logger, connectionId, frame.Type, frame.StreamId, frame.PayloadLength, frame.ShowFlags(), null); + } } public void Http2FrameSending(string connectionId, Http2Frame frame) { - _http2FrameSending(_logger, connectionId, frame.Type, frame.StreamId, frame.PayloadLength, frame.ShowFlags(), null); + if (_logger.IsEnabled(LogLevel.Trace)) + { + _http2FrameSending(_logger, connectionId, frame.Type, frame.StreamId, frame.PayloadLength, frame.ShowFlags(), null); + } } public virtual void Log(LogLevel logLevel, EventId eventId, TState state, Exception exception, Func formatter)