public static final class RouteAction.RequestMirrorPolicy extends com.google.protobuf.GeneratedMessageV3 implements RouteAction.RequestMirrorPolicyOrBuilder
The router is capable of shadowing traffic from one cluster to another. The current implementation is "fire and forget," meaning Envoy will not wait for the shadow cluster to respond before returning the response from the primary cluster. All normal statistics are collected for the shadow cluster making this feature useful for testing. During shadowing, the host/authority header is altered such that *-shadow* is appended. This is useful for logging. For example, *cluster1* becomes *cluster1-shadow*.Protobuf type
envoy.api.v2.route.RouteAction.RequestMirrorPolicy| Modifier and Type | Class and Description |
|---|---|
static class |
RouteAction.RequestMirrorPolicy.Builder
The router is capable of shadowing traffic from one cluster to another.
|
com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage,BuilderType extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType,BuilderType>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable| Modifier and Type | Field and Description |
|---|---|
static int |
CLUSTER_FIELD_NUMBER |
static int |
RUNTIME_FRACTION_FIELD_NUMBER |
static int |
RUNTIME_KEY_FIELD_NUMBER |
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(Object obj) |
String |
getCluster()
Specifies the cluster that requests will be mirrored to.
|
com.google.protobuf.ByteString |
getClusterBytes()
Specifies the cluster that requests will be mirrored to.
|
static RouteAction.RequestMirrorPolicy |
getDefaultInstance() |
RouteAction.RequestMirrorPolicy |
getDefaultInstanceForType() |
static com.google.protobuf.Descriptors.Descriptor |
getDescriptor() |
com.google.protobuf.Parser<RouteAction.RequestMirrorPolicy> |
getParserForType() |
RuntimeFractionalPercent |
getRuntimeFraction()
If both :ref:`runtime_key
<envoy_api_field_route.RouteAction.RequestMirrorPolicy.runtime_key>` and this field are not
specified, all requests to the target cluster will be mirrored.
|
RuntimeFractionalPercentOrBuilder |
getRuntimeFractionOrBuilder()
If both :ref:`runtime_key
<envoy_api_field_route.RouteAction.RequestMirrorPolicy.runtime_key>` and this field are not
specified, all requests to the target cluster will be mirrored.
|
String |
getRuntimeKey()
Deprecated.
|
com.google.protobuf.ByteString |
getRuntimeKeyBytes()
Deprecated.
|
int |
getSerializedSize() |
com.google.protobuf.UnknownFieldSet |
getUnknownFields() |
int |
hashCode() |
boolean |
hasRuntimeFraction()
If both :ref:`runtime_key
<envoy_api_field_route.RouteAction.RequestMirrorPolicy.runtime_key>` and this field are not
specified, all requests to the target cluster will be mirrored.
|
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable |
internalGetFieldAccessorTable() |
boolean |
isInitialized() |
static RouteAction.RequestMirrorPolicy.Builder |
newBuilder() |
static RouteAction.RequestMirrorPolicy.Builder |
newBuilder(RouteAction.RequestMirrorPolicy prototype) |
RouteAction.RequestMirrorPolicy.Builder |
newBuilderForType() |
protected RouteAction.RequestMirrorPolicy.Builder |
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) |
static RouteAction.RequestMirrorPolicy |
parseDelimitedFrom(InputStream input) |
static RouteAction.RequestMirrorPolicy |
parseDelimitedFrom(InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static RouteAction.RequestMirrorPolicy |
parseFrom(byte[] data) |
static RouteAction.RequestMirrorPolicy |
parseFrom(byte[] data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static RouteAction.RequestMirrorPolicy |
parseFrom(ByteBuffer data) |
static RouteAction.RequestMirrorPolicy |
parseFrom(ByteBuffer data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static RouteAction.RequestMirrorPolicy |
parseFrom(com.google.protobuf.ByteString data) |
static RouteAction.RequestMirrorPolicy |
parseFrom(com.google.protobuf.ByteString data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static RouteAction.RequestMirrorPolicy |
parseFrom(com.google.protobuf.CodedInputStream input) |
static RouteAction.RequestMirrorPolicy |
parseFrom(com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static RouteAction.RequestMirrorPolicy |
parseFrom(InputStream input) |
static RouteAction.RequestMirrorPolicy |
parseFrom(InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static com.google.protobuf.Parser<RouteAction.RequestMirrorPolicy> |
parser() |
RouteAction.RequestMirrorPolicy.Builder |
toBuilder() |
void |
writeTo(com.google.protobuf.CodedOutputStream output) |
canUseUnsafe, computeStringSize, computeStringSizeNoTag, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, hasField, hasOneof, internalGetMapField, makeExtensionsImmutable, newBuilderForType, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTagfindInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toStringaddAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeToclone, finalize, getClass, notify, notifyAll, wait, wait, waitpublic static final int CLUSTER_FIELD_NUMBER
public static final int RUNTIME_KEY_FIELD_NUMBER
public static final int RUNTIME_FRACTION_FIELD_NUMBER
public final com.google.protobuf.UnknownFieldSet getUnknownFields()
getUnknownFields in interface com.google.protobuf.MessageOrBuildergetUnknownFields in class com.google.protobuf.GeneratedMessageV3public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3public String getCluster()
Specifies the cluster that requests will be mirrored to. The cluster must exist in the cluster manager configuration.
string cluster = 1 [(.validate.rules) = { ... }getCluster in interface RouteAction.RequestMirrorPolicyOrBuilderpublic com.google.protobuf.ByteString getClusterBytes()
Specifies the cluster that requests will be mirrored to. The cluster must exist in the cluster manager configuration.
string cluster = 1 [(.validate.rules) = { ... }getClusterBytes in interface RouteAction.RequestMirrorPolicyOrBuilder@Deprecated public String getRuntimeKey()
If not specified, all requests to the target cluster will be mirrored. If specified, Envoy will lookup the runtime key to get the % of requests to mirror. Valid values are from 0 to 10000, allowing for increments of 0.01% of requests to be mirrored. If the runtime key is specified in the configuration but not present in runtime, 0 is the default and thus 0% of requests will be mirrored. .. attention:: **This field is deprecated**. Set the :ref:`runtime_fraction <envoy_api_field_route.RouteAction.RequestMirrorPolicy.runtime_fraction>` field instead.
string runtime_key = 2 [deprecated = true];getRuntimeKey in interface RouteAction.RequestMirrorPolicyOrBuilder@Deprecated public com.google.protobuf.ByteString getRuntimeKeyBytes()
If not specified, all requests to the target cluster will be mirrored. If specified, Envoy will lookup the runtime key to get the % of requests to mirror. Valid values are from 0 to 10000, allowing for increments of 0.01% of requests to be mirrored. If the runtime key is specified in the configuration but not present in runtime, 0 is the default and thus 0% of requests will be mirrored. .. attention:: **This field is deprecated**. Set the :ref:`runtime_fraction <envoy_api_field_route.RouteAction.RequestMirrorPolicy.runtime_fraction>` field instead.
string runtime_key = 2 [deprecated = true];getRuntimeKeyBytes in interface RouteAction.RequestMirrorPolicyOrBuilderpublic boolean hasRuntimeFraction()
If both :ref:`runtime_key <envoy_api_field_route.RouteAction.RequestMirrorPolicy.runtime_key>` and this field are not specified, all requests to the target cluster will be mirrored. If specified, this field takes precedence over the `runtime_key` field and requests must also fall under the percentage of matches indicated by this field. For some fraction N/D, a random number in the range [0,D) is selected. If the number is <= the value of the numerator N, or if the key is not present, the default value, the request will be mirrored. .. note:: Parsing this field is implemented such that the runtime key's data may be represented as a :ref:`FractionalPercent <envoy_api_msg_type.FractionalPercent>` proto represented as JSON/YAML and may also be represented as an integer with the assumption that the value is an integral percentage out of 100. For instance, a runtime key lookup returning the value "42" would parse as a `FractionalPercent` whose numerator is 42 and denominator is HUNDRED. This is behaviour is different to that of the deprecated `runtime_key` field, where the implicit denominator is 10000.
.envoy.api.v2.core.RuntimeFractionalPercent runtime_fraction = 3;hasRuntimeFraction in interface RouteAction.RequestMirrorPolicyOrBuilderpublic RuntimeFractionalPercent getRuntimeFraction()
If both :ref:`runtime_key <envoy_api_field_route.RouteAction.RequestMirrorPolicy.runtime_key>` and this field are not specified, all requests to the target cluster will be mirrored. If specified, this field takes precedence over the `runtime_key` field and requests must also fall under the percentage of matches indicated by this field. For some fraction N/D, a random number in the range [0,D) is selected. If the number is <= the value of the numerator N, or if the key is not present, the default value, the request will be mirrored. .. note:: Parsing this field is implemented such that the runtime key's data may be represented as a :ref:`FractionalPercent <envoy_api_msg_type.FractionalPercent>` proto represented as JSON/YAML and may also be represented as an integer with the assumption that the value is an integral percentage out of 100. For instance, a runtime key lookup returning the value "42" would parse as a `FractionalPercent` whose numerator is 42 and denominator is HUNDRED. This is behaviour is different to that of the deprecated `runtime_key` field, where the implicit denominator is 10000.
.envoy.api.v2.core.RuntimeFractionalPercent runtime_fraction = 3;getRuntimeFraction in interface RouteAction.RequestMirrorPolicyOrBuilderpublic RuntimeFractionalPercentOrBuilder getRuntimeFractionOrBuilder()
If both :ref:`runtime_key <envoy_api_field_route.RouteAction.RequestMirrorPolicy.runtime_key>` and this field are not specified, all requests to the target cluster will be mirrored. If specified, this field takes precedence over the `runtime_key` field and requests must also fall under the percentage of matches indicated by this field. For some fraction N/D, a random number in the range [0,D) is selected. If the number is <= the value of the numerator N, or if the key is not present, the default value, the request will be mirrored. .. note:: Parsing this field is implemented such that the runtime key's data may be represented as a :ref:`FractionalPercent <envoy_api_msg_type.FractionalPercent>` proto represented as JSON/YAML and may also be represented as an integer with the assumption that the value is an integral percentage out of 100. For instance, a runtime key lookup returning the value "42" would parse as a `FractionalPercent` whose numerator is 42 and denominator is HUNDRED. This is behaviour is different to that of the deprecated `runtime_key` field, where the implicit denominator is 10000.
.envoy.api.v2.core.RuntimeFractionalPercent runtime_fraction = 3;getRuntimeFractionOrBuilder in interface RouteAction.RequestMirrorPolicyOrBuilderpublic final boolean isInitialized()
isInitialized in interface com.google.protobuf.MessageLiteOrBuilderisInitialized in class com.google.protobuf.GeneratedMessageV3public void writeTo(com.google.protobuf.CodedOutputStream output)
throws IOException
writeTo in interface com.google.protobuf.MessageLitewriteTo in class com.google.protobuf.GeneratedMessageV3IOExceptionpublic int getSerializedSize()
getSerializedSize in interface com.google.protobuf.MessageLitegetSerializedSize in class com.google.protobuf.GeneratedMessageV3public boolean equals(Object obj)
equals in interface com.google.protobuf.Messageequals in class com.google.protobuf.AbstractMessagepublic int hashCode()
hashCode in interface com.google.protobuf.MessagehashCode in class com.google.protobuf.AbstractMessagepublic static RouteAction.RequestMirrorPolicy parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static RouteAction.RequestMirrorPolicy parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static RouteAction.RequestMirrorPolicy parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static RouteAction.RequestMirrorPolicy parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static RouteAction.RequestMirrorPolicy parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static RouteAction.RequestMirrorPolicy parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferExceptionpublic static RouteAction.RequestMirrorPolicy parseFrom(InputStream input) throws IOException
IOExceptionpublic static RouteAction.RequestMirrorPolicy parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
IOExceptionpublic static RouteAction.RequestMirrorPolicy parseDelimitedFrom(InputStream input) throws IOException
IOExceptionpublic static RouteAction.RequestMirrorPolicy parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
IOExceptionpublic static RouteAction.RequestMirrorPolicy parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
IOExceptionpublic static RouteAction.RequestMirrorPolicy parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
IOExceptionpublic RouteAction.RequestMirrorPolicy.Builder newBuilderForType()
newBuilderForType in interface com.google.protobuf.MessagenewBuilderForType in interface com.google.protobuf.MessageLitepublic static RouteAction.RequestMirrorPolicy.Builder newBuilder()
public static RouteAction.RequestMirrorPolicy.Builder newBuilder(RouteAction.RequestMirrorPolicy prototype)
public RouteAction.RequestMirrorPolicy.Builder toBuilder()
toBuilder in interface com.google.protobuf.MessagetoBuilder in interface com.google.protobuf.MessageLiteprotected RouteAction.RequestMirrorPolicy.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
newBuilderForType in class com.google.protobuf.GeneratedMessageV3public static RouteAction.RequestMirrorPolicy getDefaultInstance()
public static com.google.protobuf.Parser<RouteAction.RequestMirrorPolicy> parser()
public com.google.protobuf.Parser<RouteAction.RequestMirrorPolicy> getParserForType()
getParserForType in interface com.google.protobuf.MessagegetParserForType in interface com.google.protobuf.MessageLitegetParserForType in class com.google.protobuf.GeneratedMessageV3public RouteAction.RequestMirrorPolicy getDefaultInstanceForType()
getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuildergetDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilderCopyright © 2018–2019 The Envoy Project. All rights reserved.