< Summary - CoreWCF Coverage — PR #1766

Information
Class: CoreWCF.Channels.Framing.FramingLoggingExtensions
Assembly: CoreWCF.NetFramingBase
File(s): /home/runner/work/CoreWCF/CoreWCF/src/CoreWCF.NetFramingBase/src/CoreWCF/Channels/Framing/FramingLoggingExtensions.cs
Line coverage
94%
Covered lines: 148
Uncovered lines: 8
Coverable lines: 156
Total lines: 275
Line coverage: 94.8%
Branch coverage
75%
Covered branches: 12
Total branches: 16
Branch coverage: 75%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Cyclomatic complexity NPath complexity Sequence coverage
.cctor()100%11100%
LogStartState(...)100%11100%
LogEndState(...)100%11100%
LogStartState(...)100%11100%
LogEndState(...)100%11100%
LogStartState(...)100%11100%
LogEndState(...)100%11100%
LogStartState(...)100%11100%
LogEndState(...)100%11100%
LogStartState(...)100%110%
LogEndState(...)100%110%
DecodingInt(...)100%11100%
LogStartState(...)100%11100%
LogEndState(...)100%11100%
StringDecoded(...)100%11100%
StartStreamUpgradeAccept(...)100%11100%
CompleteStreamUpgradeAccept(...)100%11100%
UnwrappingRawStream(...)100%11100%
ConnectionPoolFull(...)100%110%
StartPendingReadOnIdleSocket(...)100%11100%
EndPendingReadOnIdleSocket(...)100%11100%
FailureInConnectionReuse(...)100%11100%
IdleConnectionClosed(...)100%11100%
ReceivedMessage(...)75%88100%
SendMessage(...)75%88100%
LogBytes(...)100%110%

File(s)

/home/runner/work/CoreWCF/CoreWCF/src/CoreWCF.NetFramingBase/src/CoreWCF/Channels/Framing/FramingLoggingExtensions.cs

#LineLine coverage
 1// Licensed to the .NET Foundation under one or more agreements.
 2// The .NET Foundation licenses this file to you under the MIT license.
 3
 4using System;
 5using System.IO.Pipelines;
 6using Microsoft.Extensions.Logging;
 7
 8namespace CoreWCF.Channels.Framing
 9{
 10    internal static class FramingLoggingExtensions
 11    {
 12        // Convention is for paired events (eg Start/Stop) to have sequential numbers with the start even being even and
 13        // Paired events use event id's in the 1000-1999 range. Solo events start at 2000
 14#region PairedEvents
 215        private static Action<ILogger, string, Exception> s_serverModeDecoderStartState = LoggerMessage.Define<string>(
 216            LogLevel.Trace,
 217            new EventId(1000, nameof(ServerModeDecoder) + "StartState"),
 218            nameof(ServerModeDecoder) + ":Start state is {decoderState}");
 19
 220        private static Action<ILogger, string, int, Exception> s_serverModeDecoderEndState = LoggerMessage.Define<string
 221            LogLevel.Trace,
 222            new EventId(1001, nameof(ServerModeDecoder) + "EndState"),
 223            nameof(ServerModeDecoder) + ":End state is {decoderState} after reading {bytesRead} bytes");
 24
 225        private static Action<ILogger, string, Exception> s_serverSessionDecoderStartState = LoggerMessage.Define<string
 226            LogLevel.Trace,
 227            new EventId(1002, nameof(ServerSessionDecoder) + "StartState"),
 228            nameof(ServerSessionDecoder) + ":Start state is {decoderState}");
 29
 230        private static Action<ILogger, string, int, Exception> s_serverSessionDecoderEndState = LoggerMessage.Define<str
 231            LogLevel.Trace,
 232            new EventId(1003, nameof(ServerSessionDecoder) + "EndState"),
 233            nameof(ServerSessionDecoder) + ":End state is {decoderState} after reading {bytesRead} bytes");
 34
 235        private static Action<ILogger, string, Exception> s_singletonMessageDecoderStartState = LoggerMessage.Define<str
 236            LogLevel.Trace,
 237            new EventId(1004, nameof(SingletonMessageDecoder) + "StartState"),
 238            nameof(SingletonMessageDecoder) + ":Start state is {decoderState}");
 39
 240        private static Action<ILogger, string, int, Exception> s_singletonMessageDecoderEndState = LoggerMessage.Define<
 241            LogLevel.Trace,
 242            new EventId(1005, nameof(SingletonMessageDecoder) + "EndState"),
 243            nameof(SingletonMessageDecoder) + ":End state is {decoderState} after reading {bytesRead} bytes");
 44
 245        private static Action<ILogger, string, Exception> s_serverSingletonDecoderStartState = LoggerMessage.Define<stri
 246            LogLevel.Trace,
 247            new EventId(1006, nameof(ServerSingletonDecoder) + "StartState"),
 248            nameof(ServerSingletonDecoder) + ":Start state is {decoderState}");
 49
 250        private static Action<ILogger, string, int, Exception> s_serverSingletonDecoderEndState = LoggerMessage.Define<s
 251            LogLevel.Trace,
 252            new EventId(1007, nameof(ServerSingletonDecoder) + "EndState"),
 253            nameof(ServerSingletonDecoder) + ":End state is {decoderState} after reading {bytesRead} bytes");
 54
 255        private static Action<ILogger, string, Exception> s_serverSingletonSizedDecoderStartState = LoggerMessage.Define
 256            LogLevel.Trace,
 257            new EventId(1008, nameof(ServerSingletonSizedDecoder) + "StartState"),
 258            nameof(ServerSingletonSizedDecoder) + ":Start state is {decoderState}");
 59
 260        private static Action<ILogger, string, int, Exception> s_serverSingletonSizedDecoderEndState = LoggerMessage.Def
 261            LogLevel.Trace,
 262            new EventId(1009, nameof(ServerSingletonSizedDecoder) + "EndState"),
 263            nameof(ServerSingletonSizedDecoder) + ":End state is {decoderState} after reading {bytesRead} bytes");
 64
 265        private static Action<ILogger, string, Exception> s_stringDecoderStartState = LoggerMessage.Define<string>(
 266            LogLevel.Trace,
 267            new EventId(1010, nameof(StringDecoder) + "StartState"),
 268            nameof(StringDecoder) + ":Start state is {decoderState}");
 69
 270        private static Action<ILogger, string, int, Exception> s_stringDecoderEndState = LoggerMessage.Define<string, in
 271            LogLevel.Trace,
 272            new EventId(1011, nameof(StringDecoder) + "EndState"),
 273            nameof(StringDecoder) + ":End state is {decoderState} after reading {bytesRead} bytes");
 74
 275        private static Action<ILogger, string, Exception> s_startStreamUpgradeAccept = LoggerMessage.Define<string>(
 276            LogLevel.Trace,
 277            new EventId(1012, nameof(StreamUpgradeAcceptor) + "StartUpgrade"),
 278            "{upgradeAcceptorType} start stream upgrade");
 79
 280        private static Action<ILogger, string, Exception> s_completeStreamUpgradeAccept = LoggerMessage.Define<string>(
 281            LogLevel.Trace,
 282            new EventId(1013, nameof(StreamUpgradeAcceptor) + "CompleteUpgrade"),
 283            "{upgradeAcceptorType} stream upgrade completed");
 84
 285        private static Action<ILogger, Exception> s_startPendingReadOnIdleSocket = LoggerMessage.Define(
 286            LogLevel.Trace,
 287            new EventId(1014, "StartPendingReadIdleSocket"),
 288            "Starting pending read on idle socket");
 89
 290        private static Action<ILogger, bool, bool, long, Exception> s_endPendingReadOnIdleSocket = LoggerMessage.Define<
 291            LogLevel.Trace,
 292            new EventId(1014, "EndPendingReadIdleSocket"),
 293            "Pending read on idle socket completed, IsCompleted: {isCompleted}, IsCanceled: {isCanceled}, bytes received
 94
 95#endregion // PairedEvents
 96
 297        private static Action<ILogger, int, int, int, Exception> s_decodingInt = LoggerMessage.Define<int, int, int>(
 298            LogLevel.Trace,
 299            new EventId(1050, nameof(IntDecoder) + "DecodingValue"),
 2100            nameof(IntDecoder) + ":Decoding Int with  next {next} at index {index}, with total so far {value}");
 101
 2102        private static Action<ILogger, string, Exception> s_stringDecoded = LoggerMessage.Define<string>(
 2103            LogLevel.Trace,
 2104            new EventId(1051, nameof(StringDecoder) + "DecodedString"),
 2105            nameof(StringDecoder) + ":String decoded: \"{decodedString}\"");
 106
 2107        private static Action<ILogger, Exception> s_unwrappingRawStream = LoggerMessage.Define(
 2108            LogLevel.Trace,
 2109            new EventId(1052, "UnwrappingRawStream"),
 2110            "Unwrapping raw stream");
 111
 2112        private static Action<ILogger, Exception> s_connectionPoolFull = LoggerMessage.Define(
 2113            LogLevel.Trace,
 2114            new EventId(1053, "RawSocketClose"),
 2115            "Connection pool full, closing raw socket");
 116
 2117        private static Action<ILogger, Exception> s_failureInConnectionReuse = LoggerMessage.Define(
 2118            LogLevel.Trace,
 2119            new EventId(1054, "ConnectionReuseFailure"),
 2120            "Failed to reuse connection");
 121
 2122        private static Action<ILogger, Exception> s_idleConnectionClosed = LoggerMessage.Define(
 2123            LogLevel.Trace,
 2124            new EventId(1055, "IdleConnectionClosed"),
 2125            "Idle connection closed when waiting for reuse");
 126
 2127        private static Action<ILogger, Exception> s_receivedNullMessage = LoggerMessage.Define(
 2128            LogLevel.Debug,
 2129            new EventId(1056, "ReceivedNullMessage"),
 2130            "Null message received by transport");
 131
 2132        private static Action<ILogger, string, string, string, Exception> s_receivedMessage = LoggerMessage.Define<strin
 2133            LogLevel.Trace,
 2134            new EventId(1057, "ReceivedMessage"),
 2135            "Received message with Id \"{id}\" with action \"{action}\" to \"{toAddress}\"");
 136
 2137        private static Action<ILogger, string, string, string, string, Exception> s_sendMessage = LoggerMessage.Define<s
 2138            LogLevel.Trace,
 2139            new EventId(1058, "SendMessage"),
 2140            "Sending message with RelatesTo Id \"{relatesToId}\" Id \"{id}\" with action \"{action}\" to \"{toAddress}\"
 141
 2142        private static Action<ILogger, string, int, string, Exception> s_connectionLogging = LoggerMessage.Define<string
 2143            LogLevel.Trace,
 2144            new EventId(1059, "ConnectionLogging"),
 2145            "{method}[{byteCount}]{data}");
 146
 147        public static void LogStartState(this ILogger logger, ServerModeDecoder serverModeDecoder)
 148        {
 575149            s_serverModeDecoderStartState(logger, serverModeDecoder.CurrentState.ToString(), null);
 575150        }
 151
 152        public static void LogEndState(this ILogger logger, ServerModeDecoder serverModeDecoder, int bytesRead)
 153        {
 575154            s_serverModeDecoderEndState(logger, serverModeDecoder.CurrentState.ToString(), bytesRead, null);
 575155        }
 156
 157        public static void LogStartState(this ILogger logger, ServerSessionDecoder serverSessionDecoder)
 158        {
 1123159            s_serverSessionDecoderStartState(logger, serverSessionDecoder.CurrentState.ToString(), null);
 1123160        }
 161
 162        public static void LogEndState(this ILogger logger, ServerSessionDecoder serverSessionDecoder, int bytesRead)
 163        {
 1123164            s_serverSessionDecoderEndState(logger, serverSessionDecoder.CurrentState.ToString(), bytesRead, null);
 1123165        }
 166
 167        public static void LogStartState(this ILogger logger, SingletonMessageDecoder singletonMessageDecoder)
 168        {
 3875169            s_singletonMessageDecoderStartState(logger, singletonMessageDecoder.CurrentState.ToString(), null);
 3875170        }
 171
 172        public static void LogEndState(this ILogger logger, SingletonMessageDecoder singletonMessageDecoder, int bytesRe
 173        {
 3875174            s_singletonMessageDecoderEndState(logger, singletonMessageDecoder.CurrentState.ToString(), bytesRead, null);
 3875175        }
 176
 177        public static void LogStartState(this ILogger logger, ServerSingletonDecoder serverSingletonDecoder)
 178        {
 516179            s_serverSingletonDecoderStartState(logger, serverSingletonDecoder.CurrentState.ToString(), null);
 516180        }
 181
 182        public static void LogEndState(this ILogger logger, ServerSingletonDecoder serverSingletonDecoder, int bytesRead
 183        {
 516184            s_serverSingletonDecoderEndState(logger, serverSingletonDecoder.CurrentState.ToString(), bytesRead, null);
 516185        }
 186
 187        public static void LogStartState(this ILogger logger, ServerSingletonSizedDecoder serverSingletonSizedDecoder)
 188        {
 0189            s_serverSingletonSizedDecoderStartState(logger, serverSingletonSizedDecoder.CurrentState.ToString(), null);
 0190        }
 191
 192        public static void LogEndState(this ILogger logger, ServerSingletonSizedDecoder serverSingletonSizedDecoder, int
 193        {
 0194            s_serverSingletonSizedDecoderEndState(logger, serverSingletonSizedDecoder.CurrentState.ToString(), bytesRead
 0195        }
 196
 197        public static void DecodingInt(this ILogger logger, int next, int index, int value)
 198        {
 1102199            s_decodingInt(logger, next, index, value, null);
 1102200        }
 201
 202        public static void LogStartState(this ILogger logger, StringDecoder stringDecoder)
 203        {
 278204            s_stringDecoderStartState(logger, stringDecoder.CurrentState.ToString(), null);
 278205        }
 206
 207        public static void LogEndState(this ILogger logger, StringDecoder stringDecoder, int bytesRead)
 208        {
 278209            s_stringDecoderEndState(logger, stringDecoder.CurrentState.ToString(), bytesRead, null);
 278210        }
 211
 212        public static void StringDecoded(this ILogger logger, string decodedString)
 213        {
 139214            s_stringDecoded(logger, decodedString, null);
 139215        }
 216
 217        public static void StartStreamUpgradeAccept(this ILogger logger, StreamUpgradeAcceptor upgradeAcceptor)
 218        {
 7219            s_startStreamUpgradeAccept(logger, upgradeAcceptor.GetType().Name, null);
 7220        }
 221
 222        public static void CompleteStreamUpgradeAccept(this ILogger logger, StreamUpgradeAcceptor upgradeAcceptor)
 223        {
 7224            s_completeStreamUpgradeAccept(logger, upgradeAcceptor.GetType().Name, null);
 7225        }
 226
 227        public static void UnwrappingRawStream(this ILogger logger)
 228        {
 7229            s_unwrappingRawStream(logger, null);
 7230        }
 231
 232        public static void ConnectionPoolFull(this ILogger logger)
 233        {
 0234            s_connectionPoolFull(logger, null);
 0235        }
 236
 237        public static void StartPendingReadOnIdleSocket(this ILogger logger)
 238        {
 105239            s_startPendingReadOnIdleSocket(logger, null);
 105240        }
 241
 242        public static void EndPendingReadOnIdleSocket(this ILogger logger, ReadResult readResult)
 243        {
 37244            s_endPendingReadOnIdleSocket(logger, readResult.IsCompleted, readResult.IsCanceled, readResult.Buffer.Length
 37245        }
 246
 247        public static void FailureInConnectionReuse(this ILogger logger, Exception e)
 248        {
 1249            s_failureInConnectionReuse(logger, e);
 1250        }
 251
 252        public static void IdleConnectionClosed(this ILogger logger)
 253        {
 68254            s_idleConnectionClosed(logger, null);
 68255        }
 256
 257        public static void ReceivedMessage(this ILogger logger, Message message)
 258        {
 133259            if (message == null)
 57260                s_receivedNullMessage(logger, null);
 261            else
 76262                s_receivedMessage(logger, message.Headers.MessageId?.ToString(), message.Headers.Action?.ToString(), mes
 76263        }
 264
 265        public static void SendMessage(this ILogger logger, Message message)
 266        {
 76267            s_sendMessage(logger, message.Headers.RelatesTo?.ToString(), message.Headers.MessageId?.ToString(), message.
 76268        }
 269
 270        public static void LogBytes(this ILogger logger, string method, int count, string data)
 271        {
 0272            s_connectionLogging(logger, method, count, data, null);
 0273        }
 274    }
 275}

Methods/Properties

.cctor()
LogStartState(Microsoft.Extensions.Logging.ILogger,CoreWCF.Channels.Framing.ServerModeDecoder)
LogEndState(Microsoft.Extensions.Logging.ILogger,CoreWCF.Channels.Framing.ServerModeDecoder,System.Int32)
LogStartState(Microsoft.Extensions.Logging.ILogger,CoreWCF.Channels.Framing.ServerSessionDecoder)
LogEndState(Microsoft.Extensions.Logging.ILogger,CoreWCF.Channels.Framing.ServerSessionDecoder,System.Int32)
LogStartState(Microsoft.Extensions.Logging.ILogger,CoreWCF.Channels.Framing.SingletonMessageDecoder)
LogEndState(Microsoft.Extensions.Logging.ILogger,CoreWCF.Channels.Framing.SingletonMessageDecoder,System.Int32)
LogStartState(Microsoft.Extensions.Logging.ILogger,CoreWCF.Channels.Framing.ServerSingletonDecoder)
LogEndState(Microsoft.Extensions.Logging.ILogger,CoreWCF.Channels.Framing.ServerSingletonDecoder,System.Int32)
LogStartState(Microsoft.Extensions.Logging.ILogger,CoreWCF.Channels.Framing.ServerSingletonSizedDecoder)
LogEndState(Microsoft.Extensions.Logging.ILogger,CoreWCF.Channels.Framing.ServerSingletonSizedDecoder,System.Int32)
DecodingInt(Microsoft.Extensions.Logging.ILogger,System.Int32,System.Int32,System.Int32)
LogStartState(Microsoft.Extensions.Logging.ILogger,CoreWCF.Channels.Framing.StringDecoder)
LogEndState(Microsoft.Extensions.Logging.ILogger,CoreWCF.Channels.Framing.StringDecoder,System.Int32)
StringDecoded(Microsoft.Extensions.Logging.ILogger,System.String)
StartStreamUpgradeAccept(Microsoft.Extensions.Logging.ILogger,CoreWCF.Channels.StreamUpgradeAcceptor)
CompleteStreamUpgradeAccept(Microsoft.Extensions.Logging.ILogger,CoreWCF.Channels.StreamUpgradeAcceptor)
UnwrappingRawStream(Microsoft.Extensions.Logging.ILogger)
ConnectionPoolFull(Microsoft.Extensions.Logging.ILogger)
StartPendingReadOnIdleSocket(Microsoft.Extensions.Logging.ILogger)
EndPendingReadOnIdleSocket(Microsoft.Extensions.Logging.ILogger,System.IO.Pipelines.ReadResult)
FailureInConnectionReuse(Microsoft.Extensions.Logging.ILogger,System.Exception)
IdleConnectionClosed(Microsoft.Extensions.Logging.ILogger)
ReceivedMessage(Microsoft.Extensions.Logging.ILogger,CoreWCF.Channels.Message)
SendMessage(Microsoft.Extensions.Logging.ILogger,CoreWCF.Channels.Message)
LogBytes(Microsoft.Extensions.Logging.ILogger,System.String,System.Int32,System.String)