Class OrcaMetricReportingServerInterceptor
java.lang.Object
io.grpc.xds.orca.OrcaMetricReportingServerInterceptor
- All Implemented Interfaces:
io.grpc.ServerInterceptor
@ExperimentalApi("https://github.com/grpc/grpc-java/issues/9127")
public final class OrcaMetricReportingServerInterceptor
extends Object
implements io.grpc.ServerInterceptor
A
ServerInterceptor that intercepts a ServerCall by running server-side RPC
handling under a Context that records custom per-request metrics provided by server
applications and sends to client side along with the response in the format of Open Request
Cost Aggregation (ORCA).- Since:
- 1.23.0
-
Method Summary
Modifier and TypeMethodDescriptioncreate(io.grpc.services.MetricRecorder metricRecorder) Creates a newOrcaMetricReportingServerInterceptorinstance with the givenMetricRecorder.<ReqT,RespT>
io.grpc.ServerCall.Listener<ReqT> interceptCall(io.grpc.ServerCall<ReqT, RespT> call, io.grpc.Metadata headers, io.grpc.ServerCallHandler<ReqT, RespT> next)
-
Method Details
-
getInstance
-
create
public static OrcaMetricReportingServerInterceptor create(@Nullable io.grpc.services.MetricRecorder metricRecorder) Creates a newOrcaMetricReportingServerInterceptorinstance with the givenMetricRecorder. When bothCallMetricRecorderandMetricRecorderexist, the metrics are merged such that per-request metrics fromCallMetricRecordertakes a higher precedence compared to metrics fromMetricRecorder. -
interceptCall
public <ReqT,RespT> io.grpc.ServerCall.Listener<ReqT> interceptCall(io.grpc.ServerCall<ReqT, RespT> call, io.grpc.Metadata headers, io.grpc.ServerCallHandler<ReqT, RespT> next) - Specified by:
interceptCallin interfaceio.grpc.ServerInterceptor
-