6 implementations of IConnectionMetricsTagsFeature
InMemory.FunctionalTests (3)
Http2\Http2TestBase.cs (1)
505private sealed class TestConnectionMetricsTagsFeature : IConnectionMetricsTagsFeature
KestrelMetricsTests.cs (1)
431private sealed class TestConnectionMetricsTagsFeature : IConnectionMetricsTagsFeature
src\Servers\Kestrel\shared\test\Http3\Http3InMemory.cs (1)
989internal class TestMultiplexedConnectionContext : MultiplexedConnectionContext, IConnectionLifetimeNotificationFeature, IConnectionLifetimeFeature, IConnectionHeartbeatFeature, IProtocolErrorCodeFeature, IConnectionMetricsContextFeature, IConnectionMetricsTagsFeature
Microsoft.AspNetCore.Server.Kestrel.Core (1)
Internal\Infrastructure\KestrelConnectionOfT.cs (1)
101private sealed class ConnectionMetricsTagsFeature : IConnectionMetricsTagsFeature
Microsoft.AspNetCore.Server.Kestrel.Microbenchmarks (2)
Http2\Http2ConnectionBenchmarkBase.cs (1)
198private sealed class TestConnectionMetricsTagsFeature : IConnectionMetricsTagsFeature
src\Servers\Kestrel\shared\test\Http3\Http3InMemory.cs (1)
989internal class TestMultiplexedConnectionContext : MultiplexedConnectionContext, IConnectionLifetimeNotificationFeature, IConnectionLifetimeFeature, IConnectionHeartbeatFeature, IProtocolErrorCodeFeature, IConnectionMetricsContextFeature, IConnectionMetricsTagsFeature
73 references to IConnectionMetricsTagsFeature
InMemory.FunctionalTests (17)
Http2\Http2TestBase.cs (2)
158internal IConnectionMetricsTagsFeature _metricsTagsFeature; 483features.Set<IConnectionMetricsTagsFeature>(_metricsTagsFeature);
KestrelMetricsTests.cs (5)
51connectionContext.Features.Get<IConnectionMetricsTagsFeature>().Tags.Add(new KeyValuePair<string, object>("custom", "value!")); 114hasConnectionMetricsTagsFeature = connectionContext.Features.Get<IConnectionMetricsTagsFeature>() != null; 330connectionContext.Features.Get<IConnectionMetricsTagsFeature>().Tags.Add(new KeyValuePair<string, object>("custom", "value!")); 356features.Set<IConnectionMetricsTagsFeature>(overridenFeature); 364Assert.NotEqual(overridenFeature, currentConnectionContext.Features.Get<IConnectionMetricsTagsFeature>());
src\Servers\Kestrel\shared\test\Http3\Http3InMemory.cs (1)
1014Features.Set<IConnectionMetricsTagsFeature>(this);
src\Servers\Kestrel\shared\TransportConnection.Generated.cs (9)
38internal protected IConnectionMetricsTagsFeature? _currentIConnectionMetricsTagsFeature; 179else if (key == typeof(IConnectionMetricsTagsFeature)) 243else if (key == typeof(IConnectionMetricsTagsFeature)) 245_currentIConnectionMetricsTagsFeature = (IConnectionMetricsTagsFeature?)value; 309else if (typeof(TFeature) == typeof(IConnectionMetricsTagsFeature)) 311feature = Unsafe.As<IConnectionMetricsTagsFeature?, TFeature?>(ref _currentIConnectionMetricsTagsFeature); 381else if (typeof(TFeature) == typeof(IConnectionMetricsTagsFeature)) 383_currentIConnectionMetricsTagsFeature = Unsafe.As<TFeature?, IConnectionMetricsTagsFeature?>(ref feature); 443yield return new KeyValuePair<Type, object>(typeof(IConnectionMetricsTagsFeature), _currentIConnectionMetricsTagsFeature);
Microsoft.AspNetCore.Diagnostics (2)
src\Shared\Metrics\MetricsExtensions.cs (2)
19public static bool TryAddTag(this IConnectionMetricsTagsFeature feature, string name, object? value) 26public static void SetTag(this IConnectionMetricsTagsFeature feature, string name, object? value)
Microsoft.AspNetCore.Hosting (2)
src\Shared\Metrics\MetricsExtensions.cs (2)
19public static bool TryAddTag(this IConnectionMetricsTagsFeature feature, string name, object? value) 26public static void SetTag(this IConnectionMetricsTagsFeature feature, string name, object? value)
Microsoft.AspNetCore.Server.Kestrel.Core (14)
Internal\Http2\Http2Connection.cs (2)
106private readonly IConnectionMetricsTagsFeature? _metricsTagsFeature; 160_metricsTagsFeature = context.ConnectionFeatures.Get<IConnectionMetricsTagsFeature>();
Internal\HttpConnection.cs (3)
55IConnectionMetricsTagsFeature? connectionMetricsTagsFeature = null; 59connectionMetricsTagsFeature = _context.ConnectionFeatures.Get<IConnectionMetricsTagsFeature>(); 138if (_context.ConnectionContext.Features.Get<IConnectionMetricsTagsFeature>() is { } metricsTags)
Internal\Infrastructure\KestrelConnectionOfT.cs (2)
51connectionContext.Features.Set<IConnectionMetricsTagsFeature>(metricsTagsFeature); 103ICollection<KeyValuePair<string, object?>> IConnectionMetricsTagsFeature.Tags => TagsList;
Internal\Infrastructure\KestrelMetrics.cs (1)
420public static void AddConnectionEndReason(IConnectionMetricsTagsFeature? feature, ConnectionEndReason reason)
Middleware\HttpMultiplexedConnectionMiddleware.cs (1)
47if (connectionContext.Features.Get<IConnectionMetricsTagsFeature>() is { } metricsTags)
Middleware\HttpsConnectionMiddleware.cs (3)
157var metricsTagsFeature = context.Features.Get<IConnectionMetricsTagsFeature>(); 239static void RecordHandshakeFailed(KestrelMetrics metrics, long startTimestamp, long currentTimestamp, ConnectionMetricsContext metricsContext, IConnectionMetricsTagsFeature? metricsTagsFeature, Exception ex)
src\Shared\Metrics\MetricsExtensions.cs (2)
19public static bool TryAddTag(this IConnectionMetricsTagsFeature feature, string name, object? value) 26public static void SetTag(this IConnectionMetricsTagsFeature feature, string name, object? value)
Microsoft.AspNetCore.Server.Kestrel.Microbenchmarks (11)
Http2\Http2ConnectionBenchmarkBase.cs (1)
79featureCollection.Set<IConnectionMetricsTagsFeature>(new TestConnectionMetricsTagsFeature());
src\Servers\Kestrel\shared\test\Http3\Http3InMemory.cs (1)
1014Features.Set<IConnectionMetricsTagsFeature>(this);
src\Servers\Kestrel\shared\TransportConnection.Generated.cs (9)
38internal protected IConnectionMetricsTagsFeature? _currentIConnectionMetricsTagsFeature; 179else if (key == typeof(IConnectionMetricsTagsFeature)) 243else if (key == typeof(IConnectionMetricsTagsFeature)) 245_currentIConnectionMetricsTagsFeature = (IConnectionMetricsTagsFeature?)value; 309else if (typeof(TFeature) == typeof(IConnectionMetricsTagsFeature)) 311feature = Unsafe.As<IConnectionMetricsTagsFeature?, TFeature?>(ref _currentIConnectionMetricsTagsFeature); 381else if (typeof(TFeature) == typeof(IConnectionMetricsTagsFeature)) 383_currentIConnectionMetricsTagsFeature = Unsafe.As<TFeature?, IConnectionMetricsTagsFeature?>(ref feature); 443yield return new KeyValuePair<Type, object>(typeof(IConnectionMetricsTagsFeature), _currentIConnectionMetricsTagsFeature);
Microsoft.AspNetCore.Server.Kestrel.Transport.NamedPipes (9)
src\Servers\Kestrel\shared\TransportConnection.Generated.cs (9)
38internal protected IConnectionMetricsTagsFeature? _currentIConnectionMetricsTagsFeature; 179else if (key == typeof(IConnectionMetricsTagsFeature)) 243else if (key == typeof(IConnectionMetricsTagsFeature)) 245_currentIConnectionMetricsTagsFeature = (IConnectionMetricsTagsFeature?)value; 309else if (typeof(TFeature) == typeof(IConnectionMetricsTagsFeature)) 311feature = Unsafe.As<IConnectionMetricsTagsFeature?, TFeature?>(ref _currentIConnectionMetricsTagsFeature); 381else if (typeof(TFeature) == typeof(IConnectionMetricsTagsFeature)) 383_currentIConnectionMetricsTagsFeature = Unsafe.As<TFeature?, IConnectionMetricsTagsFeature?>(ref feature); 443yield return new KeyValuePair<Type, object>(typeof(IConnectionMetricsTagsFeature), _currentIConnectionMetricsTagsFeature);
Microsoft.AspNetCore.Server.Kestrel.Transport.Quic (9)
src\Servers\Kestrel\shared\TransportConnection.Generated.cs (9)
38internal protected IConnectionMetricsTagsFeature? _currentIConnectionMetricsTagsFeature; 179else if (key == typeof(IConnectionMetricsTagsFeature)) 243else if (key == typeof(IConnectionMetricsTagsFeature)) 245_currentIConnectionMetricsTagsFeature = (IConnectionMetricsTagsFeature?)value; 309else if (typeof(TFeature) == typeof(IConnectionMetricsTagsFeature)) 311feature = Unsafe.As<IConnectionMetricsTagsFeature?, TFeature?>(ref _currentIConnectionMetricsTagsFeature); 381else if (typeof(TFeature) == typeof(IConnectionMetricsTagsFeature)) 383_currentIConnectionMetricsTagsFeature = Unsafe.As<TFeature?, IConnectionMetricsTagsFeature?>(ref feature); 443yield return new KeyValuePair<Type, object>(typeof(IConnectionMetricsTagsFeature), _currentIConnectionMetricsTagsFeature);
Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets (9)
src\Servers\Kestrel\shared\TransportConnection.Generated.cs (9)
38internal protected IConnectionMetricsTagsFeature? _currentIConnectionMetricsTagsFeature; 179else if (key == typeof(IConnectionMetricsTagsFeature)) 243else if (key == typeof(IConnectionMetricsTagsFeature)) 245_currentIConnectionMetricsTagsFeature = (IConnectionMetricsTagsFeature?)value; 309else if (typeof(TFeature) == typeof(IConnectionMetricsTagsFeature)) 311feature = Unsafe.As<IConnectionMetricsTagsFeature?, TFeature?>(ref _currentIConnectionMetricsTagsFeature); 381else if (typeof(TFeature) == typeof(IConnectionMetricsTagsFeature)) 383_currentIConnectionMetricsTagsFeature = Unsafe.As<TFeature?, IConnectionMetricsTagsFeature?>(ref feature); 443yield return new KeyValuePair<Type, object>(typeof(IConnectionMetricsTagsFeature), _currentIConnectionMetricsTagsFeature);