@ExperimentalApi(value="https://github.com/grpc/grpc-java/issues/9127") public final class OrcaMetricReportingServerInterceptor extends Object implements io.grpc.ServerInterceptor
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).| Modifier and Type | Method and Description |
|---|---|
static OrcaMetricReportingServerInterceptor |
create(io.grpc.services.MetricRecorder metricRecorder)
Creates a new
OrcaMetricReportingServerInterceptor instance with the given
MetricRecorder. |
static OrcaMetricReportingServerInterceptor |
getInstance() |
<ReqT,RespT> |
interceptCall(io.grpc.ServerCall<ReqT,RespT> call,
io.grpc.Metadata headers,
io.grpc.ServerCallHandler<ReqT,RespT> next) |
public static OrcaMetricReportingServerInterceptor getInstance()
public static OrcaMetricReportingServerInterceptor create(@Nullable io.grpc.services.MetricRecorder metricRecorder)
OrcaMetricReportingServerInterceptor instance with the given
MetricRecorder. When both CallMetricRecorder and MetricRecorder exist,
the metrics are merged such that per-request metrics from CallMetricRecorder takes a
higher precedence compared to metrics from MetricRecorder.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)
interceptCall in interface io.grpc.ServerInterceptor