LatencyRecorderMiddlewareExtensions.AddLatencyContextMiddleware Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Overloads
AddLatencyContextMiddleware(IAsyncProcessingPipelineBuilder) |
Adds the IMessageMiddleware to register the Microsoft.Extensions.Telemetry.Latency.ILatencyContextProvider in IMessageMiddleware pipeline to create and set Microsoft.Extensions.Telemetry.Latency.ILatencyContext with the MessageContext. |
AddLatencyContextMiddleware<T>(IAsyncProcessingPipelineBuilder, Func<IServiceProvider,T>) |
Adds the IMessageMiddleware to reuse the existing Microsoft.Extensions.Telemetry.Latency.ILatencyContext registered with the ASP.NET pipeline and set it in the MessageContext. |
AddLatencyContextMiddleware<T>(IAsyncProcessingPipelineBuilder, Func<IServiceProvider,T>, Func<IServiceProvider,IEnumerable<ILatencyDataExporter>>) |
Adds the IMessageMiddleware to register the provided Microsoft.Extensions.Telemetry.Latency.ILatencyContextProvider in the IMessageMiddleware pipeline to create and set Microsoft.Extensions.Telemetry.Latency.ILatencyContext with the MessageContext. |
AddLatencyContextMiddleware(IAsyncProcessingPipelineBuilder)
Adds the IMessageMiddleware to register the Microsoft.Extensions.Telemetry.Latency.ILatencyContextProvider in IMessageMiddleware pipeline to create and set Microsoft.Extensions.Telemetry.Latency.ILatencyContext with the MessageContext.
public:
[System::Runtime::CompilerServices::Extension]
static System::Cloud::Messaging::IAsyncProcessingPipelineBuilder ^ AddLatencyContextMiddleware(System::Cloud::Messaging::IAsyncProcessingPipelineBuilder ^ pipelineBuilder);
public static System.Cloud.Messaging.IAsyncProcessingPipelineBuilder AddLatencyContextMiddleware(this System.Cloud.Messaging.IAsyncProcessingPipelineBuilder pipelineBuilder);
static member AddLatencyContextMiddleware : System.Cloud.Messaging.IAsyncProcessingPipelineBuilder -> System.Cloud.Messaging.IAsyncProcessingPipelineBuilder
<Extension()>
Public Function AddLatencyContextMiddleware (pipelineBuilder As IAsyncProcessingPipelineBuilder) As IAsyncProcessingPipelineBuilder
Parameters
- pipelineBuilder
- IAsyncProcessingPipelineBuilder
The builder for async processing pipeline.
Returns
IAsyncProcessingPipelineBuilder to chain additional calls.
Exceptions
Any argument is null
.
Remarks
If the Microsoft.Extensions.Telemetry.Latency.ILatencyContext is already available in the workflow, use the AddLatencyContextMiddleware<T>(IAsyncProcessingPipelineBuilder, Func<IServiceProvider,T>) variant.
Applies to
AddLatencyContextMiddleware<T>(IAsyncProcessingPipelineBuilder, Func<IServiceProvider,T>)
Adds the IMessageMiddleware to reuse the existing Microsoft.Extensions.Telemetry.Latency.ILatencyContext registered with the ASP.NET pipeline and set it in the MessageContext.
public:
generic <typename T>
where T : class, Microsoft::Extensions::Telemetry::Latency::ILatencyContext[System::Runtime::CompilerServices::Extension]
static System::Cloud::Messaging::IAsyncProcessingPipelineBuilder ^ AddLatencyContextMiddleware(System::Cloud::Messaging::IAsyncProcessingPipelineBuilder ^ pipelineBuilder, Func<IServiceProvider ^, T> ^ implementationFactory);
public static System.Cloud.Messaging.IAsyncProcessingPipelineBuilder AddLatencyContextMiddleware<T>(this System.Cloud.Messaging.IAsyncProcessingPipelineBuilder pipelineBuilder, Func<IServiceProvider,T> implementationFactory) where T : class, Microsoft.Extensions.Telemetry.Latency.ILatencyContext;
static member AddLatencyContextMiddleware : System.Cloud.Messaging.IAsyncProcessingPipelineBuilder * Func<IServiceProvider, 'T (requires 'T : null and 'T :> Microsoft.Extensions.Telemetry.Latency.ILatencyContext)> -> System.Cloud.Messaging.IAsyncProcessingPipelineBuilder (requires 'T : null and 'T :> Microsoft.Extensions.Telemetry.Latency.ILatencyContext)
<Extension()>
Public Function AddLatencyContextMiddleware(Of T As {Class, ILatencyContext}) (pipelineBuilder As IAsyncProcessingPipelineBuilder, implementationFactory As Func(Of IServiceProvider, T)) As IAsyncProcessingPipelineBuilder
Type Parameters
- T
The type of Microsoft.Extensions.Telemetry.Latency.ILatencyContext implementation.
Parameters
- pipelineBuilder
- IAsyncProcessingPipelineBuilder
The builder for async processing pipeline.
- implementationFactory
- Func<IServiceProvider,T>
The Microsoft.Extensions.Telemetry.Latency.ILatencyContext implementation factory.
Exceptions
Any argument is null
.
Applies to
AddLatencyContextMiddleware<T>(IAsyncProcessingPipelineBuilder, Func<IServiceProvider,T>, Func<IServiceProvider,IEnumerable<ILatencyDataExporter>>)
Adds the IMessageMiddleware to register the provided Microsoft.Extensions.Telemetry.Latency.ILatencyContextProvider in the IMessageMiddleware pipeline to create and set Microsoft.Extensions.Telemetry.Latency.ILatencyContext with the MessageContext.
public:
generic <typename T>
where T : class, Microsoft::Extensions::Telemetry::Latency::ILatencyContextProvider[System::Runtime::CompilerServices::Extension]
static System::Cloud::Messaging::IAsyncProcessingPipelineBuilder ^ AddLatencyContextMiddleware(System::Cloud::Messaging::IAsyncProcessingPipelineBuilder ^ pipelineBuilder, Func<IServiceProvider ^, T> ^ implementationFactory, Func<IServiceProvider ^, System::Collections::Generic::IEnumerable<Microsoft::Extensions::Telemetry::Latency::ILatencyDataExporter ^> ^> ^ exporterFactory);
public static System.Cloud.Messaging.IAsyncProcessingPipelineBuilder AddLatencyContextMiddleware<T>(this System.Cloud.Messaging.IAsyncProcessingPipelineBuilder pipelineBuilder, Func<IServiceProvider,T> implementationFactory, Func<IServiceProvider,System.Collections.Generic.IEnumerable<Microsoft.Extensions.Telemetry.Latency.ILatencyDataExporter>> exporterFactory) where T : class, Microsoft.Extensions.Telemetry.Latency.ILatencyContextProvider;
static member AddLatencyContextMiddleware : System.Cloud.Messaging.IAsyncProcessingPipelineBuilder * Func<IServiceProvider, 'T (requires 'T : null and 'T :> Microsoft.Extensions.Telemetry.Latency.ILatencyContextProvider)> * Func<IServiceProvider, seq<Microsoft.Extensions.Telemetry.Latency.ILatencyDataExporter>> -> System.Cloud.Messaging.IAsyncProcessingPipelineBuilder (requires 'T : null and 'T :> Microsoft.Extensions.Telemetry.Latency.ILatencyContextProvider)
<Extension()>
Public Function AddLatencyContextMiddleware(Of T As {Class, ILatencyContextProvider}) (pipelineBuilder As IAsyncProcessingPipelineBuilder, implementationFactory As Func(Of IServiceProvider, T), exporterFactory As Func(Of IServiceProvider, IEnumerable(Of ILatencyDataExporter))) As IAsyncProcessingPipelineBuilder
Type Parameters
- T
The type of Microsoft.Extensions.Telemetry.Latency.ILatencyContextProvider implementation.
Parameters
- pipelineBuilder
- IAsyncProcessingPipelineBuilder
The builder for async processing pipeline.
- implementationFactory
- Func<IServiceProvider,T>
The Microsoft.Extensions.Telemetry.Latency.ILatencyContextProvider implementation factory.
- exporterFactory
- Func<IServiceProvider,IEnumerable<Microsoft.Extensions.Telemetry.Latency.ILatencyDataExporter>>
The factory for exporting capture latency context.
Returns
IAsyncProcessingPipelineBuilder to chain additional calls.
Exceptions
Any argument is null
.
Remarks
If the Microsoft.Extensions.Telemetry.Latency.ILatencyContext is already available in the workflow, use the AddLatencyContextMiddleware<T>(IAsyncProcessingPipelineBuilder, Func<IServiceProvider,T>) variant.