Class MetricsInterceptor
An interceptor that publishes invocation metrics using a singleton meter named "IceRpc.Invocation".
public class MetricsInterceptor : IInvoker
- Inheritance
-
MetricsInterceptor
- Implements
- Inherited Members
- Extension Methods
Constructors
MetricsInterceptor(IInvoker)
Constructs a metrics interceptor.
public MetricsInterceptor(IInvoker next)
Parameters
next
IInvokerThe next invoker in the invocation pipeline.
Methods
InvokeAsync(OutgoingRequest, CancellationToken)
Sends an outgoing request and returns the corresponding incoming response.
public Task<IncomingResponse> InvokeAsync(OutgoingRequest request, CancellationToken cancellationToken)
Parameters
request
OutgoingRequestThe outgoing request being sent.
cancellationToken
CancellationTokenA cancellation token that receives the cancellation requests.
Returns
- Task<IncomingResponse>
The corresponding IncomingResponse.
Remarks
When request
is a two-way request, the returned task will not complete successfully
until after the request's Payload is fully sent and the response is received from
the peer. When the request is a one-way request, the returned task completes successfully with an empty response
when the request's Payload is fully sent. For all requests (one-way and two-way),
the sending of the request's PayloadContinuation can continue in a background task
after the returned task has completed successfully.