Class FaultFilter
java.lang.Object
io.grpc.xds.FaultFilter
- All Implemented Interfaces:
Filter, Filter.ClientInterceptorBuilder
HttpFault filter implementation.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate final classADelayedClientCallwith a fixed delay.private final classAn implementation ofClientCallthat fails when started.Nested classes/interfaces inherited from interface Filter
Filter.ClientInterceptorBuilder, Filter.FilterConfig, Filter.NamedFilterConfig, Filter.ServerInterceptorBuilder -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final AtomicLong(package private) static final io.grpc.Metadata.Key<String> (package private) static final io.grpc.Metadata.Key<String> (package private) static final io.grpc.Metadata.Key<String> (package private) static final io.grpc.Metadata.Key<String> (package private) static final io.grpc.Metadata.Key<String> (package private) static final FaultFilterprivate final ThreadSafeRandom(package private) static final String -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionio.grpc.ClientInterceptorbuildClientInterceptor(Filter.FilterConfig config, Filter.FilterConfig overrideConfig, io.grpc.LoadBalancer.PickSubchannelArgs args, ScheduledExecutorService scheduler) private io.grpc.StatusdetermineFaultAbortStatus(FaultConfig.FaultAbort faultAbort, io.grpc.Metadata headers) private LongdetermineFaultDelayNanos(FaultConfig.FaultDelay faultDelay, io.grpc.Metadata headers) private static io.grpc.StatusgetAbortStatusWithDescription(io.grpc.Status abortStatus) private static int(package private) static ConfigOrError<FaultConfig.FaultAbort> parseFaultAbort(FaultAbort faultAbort) private static FaultConfig.FaultDelayparseFaultDelay(FaultDelay faultDelay) parseFilterConfig(com.google.protobuf.Message rawProtoMessage) Parses the top-level filter config from raw proto message.parseFilterConfigOverride(com.google.protobuf.Message rawProtoMessage) Parses the per-filter override filter config from raw proto message.private static ConfigOrError<FaultConfig> parseHttpFault(HTTPFault httpFault) private static FaultConfig.FractionalPercentparsePercent(FractionalPercent proto) String[]typeUrls()The proto message types supported by this filter.
-
Field Details
-
INSTANCE
-
HEADER_DELAY_KEY
-
HEADER_DELAY_PERCENTAGE_KEY
-
HEADER_ABORT_HTTP_STATUS_KEY
-
HEADER_ABORT_GRPC_STATUS_KEY
-
HEADER_ABORT_PERCENTAGE_KEY
-
TYPE_URL
- See Also:
-
random
-
activeFaultCounter
-
-
Constructor Details
-
FaultFilter
FaultFilter(ThreadSafeRandom random, AtomicLong activeFaultCounter)
-
-
Method Details
-
typeUrls
-
parseFilterConfig
Description copied from interface:FilterParses the top-level filter config from raw proto message. The message may be either aAnyor aStruct.- Specified by:
parseFilterConfigin interfaceFilter
-
parseHttpFault
-
parseFaultDelay
-
parseFaultAbort
-
parsePercent
-
parseFilterConfigOverride
public ConfigOrError<FaultConfig> parseFilterConfigOverride(com.google.protobuf.Message rawProtoMessage) Description copied from interface:FilterParses the per-filter override filter config from raw proto message. The message may be either aAnyor aStruct.- Specified by:
parseFilterConfigOverridein interfaceFilter
-
buildClientInterceptor
@Nullable public io.grpc.ClientInterceptor buildClientInterceptor(Filter.FilterConfig config, @Nullable Filter.FilterConfig overrideConfig, io.grpc.LoadBalancer.PickSubchannelArgs args, ScheduledExecutorService scheduler) - Specified by:
buildClientInterceptorin interfaceFilter.ClientInterceptorBuilder
-
getAbortStatusWithDescription
private static io.grpc.Status getAbortStatusWithDescription(io.grpc.Status abortStatus) -
determineFaultDelayNanos
@Nullable private Long determineFaultDelayNanos(FaultConfig.FaultDelay faultDelay, io.grpc.Metadata headers) -
determineFaultAbortStatus
@Nullable private io.grpc.Status determineFaultAbortStatus(FaultConfig.FaultAbort faultAbort, io.grpc.Metadata headers) -
getRatePerMillion
-