| File: HttpSysRequestTimingType.cs | Web Access |
| Project: src\aspnetcore\src\Servers\HttpSys\src\Microsoft.AspNetCore.Server.HttpSys.csproj (Microsoft.AspNetCore.Server.HttpSys) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.AspNetCore.Server.HttpSys; /// <summary> /// Defines the types of request processing timestamps exposed via the Http.Sys HTTP_REQUEST_TIMING_INFO extensibility point. /// </summary> /// <remarks> /// Use <see cref="IHttpSysRequestTimingFeature"/> to access these timestamps. /// </remarks> public enum HttpSysRequestTimingType { // IMPORTANT: Order matters and should match the order defined in HTTP_REQUEST_TIMING_TYPE /// <summary> /// Time the connection started. /// </summary> ConnectionStart, /// <summary> /// Time the first HTTP byte is received. /// </summary> DataStart, /// <summary> /// Time TLS certificate loading starts. /// </summary> TlsCertificateLoadStart, /// <summary> /// Time TLS certificate loading ends. /// </summary> TlsCertificateLoadEnd, /// <summary> /// Time TLS leg one handshake starts. /// </summary> TlsHandshakeLeg1Start, /// <summary> /// Time TLS leg one handshake ends. /// </summary> TlsHandshakeLeg1End, /// <summary> /// Time TLS leg two handshake starts. /// </summary> TlsHandshakeLeg2Start, /// <summary> /// Time TLS leg two handshake ends. /// </summary> TlsHandshakeLeg2End, /// <summary> /// Time TLS attribute query starts. /// </summary> TlsAttributesQueryStart, /// <summary> /// Time TLS attribute query ends. /// </summary> TlsAttributesQueryEnd, /// <summary> /// Time TLS client cert query starts. /// </summary> TlsClientCertQueryStart, /// <summary> /// Time TLS client cert query ends. /// </summary> TlsClientCertQueryEnd, /// <summary> /// Time HTTP2 streaming starts. /// </summary> Http2StreamStart, /// <summary> /// Time HTTP2 header decoding starts. /// </summary> Http2HeaderDecodeStart, /// <summary> /// Time HTTP2 header decoding ends. /// </summary> Http2HeaderDecodeEnd, /// <summary> /// Time HTTP header parsing starts. /// </summary> /// <remarks> /// For most requests, this is a good timestamp to use as a per request starting timestamp. /// </remarks> RequestHeaderParseStart, /// <summary> /// Time HTTP header parsing ends. /// </summary> RequestHeaderParseEnd, /// <summary> /// Time Http.Sys starts to determine which request queue to route the request to. /// </summary> RequestRoutingStart, /// <summary> /// Time Http.Sys has determined which request queue to route the request to. /// </summary> RequestRoutingEnd, /// <summary> /// Time the request is queued for inspection. /// </summary> RequestQueuedForInspection, /// <summary> /// Time the request is delivered for inspection. /// </summary> RequestDeliveredForInspection, /// <summary> /// Time the request has finished being inspected. /// </summary> RequestReturnedAfterInspection, /// <summary> /// Time the request is queued for delegation. /// </summary> RequestQueuedForDelegation, /// <summary> /// Time the request is delivered for delegation. /// </summary> RequestDeliveredForDelegation, /// <summary> /// Time the request was delegated. /// </summary> RequestReturnedAfterDelegation, /// <summary> /// Time the request was queued to the final request queue for processing. /// </summary> RequestQueuedForIO, /// <summary> /// Time the request was delivered to the final request queue for processing. /// </summary> RequestDeliveredForIO, /// <summary> /// Time HTTP3 streaming starts. /// </summary> Http3StreamStart, /// <summary> /// Time HTTP3 header decoding starts. /// </summary> Http3HeaderDecodeStart, /// <summary> /// Time HTTP3 header decoding ends. /// </summary> Http3HeaderDecodeEnd, }