Package io.grpc.xds.orca
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.ServerInterceptorAServerInterceptorthat intercepts aServerCallby running server-side RPC handling under aContextthat 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
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static OrcaMetricReportingServerInterceptorcreate(io.grpc.services.MetricRecorder metricRecorder)Creates a newOrcaMetricReportingServerInterceptorinstance with the givenMetricRecorder.static OrcaMetricReportingServerInterceptorgetInstance()<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 Detail
-
getInstance
public static OrcaMetricReportingServerInterceptor 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
-
-