Class RuntimeFilter

  • All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, RuntimeFilterOrBuilder, Serializable

    public final class RuntimeFilter
    extends com.google.protobuf.GeneratedMessageV3
    implements RuntimeFilterOrBuilder
     Filters for random sampling of requests.
     
    Protobuf type envoy.config.filter.accesslog.v2.RuntimeFilter
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  RuntimeFilter.Builder
      Filters for random sampling of requests.
      • Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3

        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, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter
      • Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite

        com.google.protobuf.AbstractMessageLite.InternalOneOfEnum
    • Field Detail

      • RUNTIME_KEY_FIELD_NUMBER

        public static final int RUNTIME_KEY_FIELD_NUMBER
        See Also:
        Constant Field Values
      • PERCENT_SAMPLED_FIELD_NUMBER

        public static final int PERCENT_SAMPLED_FIELD_NUMBER
        See Also:
        Constant Field Values
      • USE_INDEPENDENT_RANDOMNESS_FIELD_NUMBER

        public static final int USE_INDEPENDENT_RANDOMNESS_FIELD_NUMBER
        See Also:
        Constant Field Values
    • Method Detail

      • newInstance

        protected Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getUnknownFields

        public final com.google.protobuf.UnknownFieldSet getUnknownFields()
        Specified by:
        getUnknownFields in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getUnknownFields in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • getRuntimeKey

        public String getRuntimeKey()
         Runtime key to get an optional overridden numerator for use in the *percent_sampled* field.
         If found in runtime, this value will replace the default numerator.
         
        string runtime_key = 1 [(.validate.rules) = { ... }
        Specified by:
        getRuntimeKey in interface RuntimeFilterOrBuilder
        Returns:
        The runtimeKey.
      • getRuntimeKeyBytes

        public com.google.protobuf.ByteString getRuntimeKeyBytes()
         Runtime key to get an optional overridden numerator for use in the *percent_sampled* field.
         If found in runtime, this value will replace the default numerator.
         
        string runtime_key = 1 [(.validate.rules) = { ... }
        Specified by:
        getRuntimeKeyBytes in interface RuntimeFilterOrBuilder
        Returns:
        The bytes for runtimeKey.
      • hasPercentSampled

        public boolean hasPercentSampled()
         The default sampling percentage. If not specified, defaults to 0% with denominator of 100.
         
        .envoy.type.FractionalPercent percent_sampled = 2;
        Specified by:
        hasPercentSampled in interface RuntimeFilterOrBuilder
        Returns:
        Whether the percentSampled field is set.
      • getPercentSampled

        public FractionalPercent getPercentSampled()
         The default sampling percentage. If not specified, defaults to 0% with denominator of 100.
         
        .envoy.type.FractionalPercent percent_sampled = 2;
        Specified by:
        getPercentSampled in interface RuntimeFilterOrBuilder
        Returns:
        The percentSampled.
      • getUseIndependentRandomness

        public boolean getUseIndependentRandomness()
         By default, sampling pivots on the header
         :ref:`x-request-id<config_http_conn_man_headers_x-request-id>` being present. If
         :ref:`x-request-id<config_http_conn_man_headers_x-request-id>` is present, the filter will
         consistently sample across multiple hosts based on the runtime key value and the value
         extracted from :ref:`x-request-id<config_http_conn_man_headers_x-request-id>`. If it is
         missing, or *use_independent_randomness* is set to true, the filter will randomly sample based
         on the runtime key value alone. *use_independent_randomness* can be used for logging kill
         switches within complex nested :ref:`AndFilter
         <envoy_api_msg_config.filter.accesslog.v2.AndFilter>` and :ref:`OrFilter
         <envoy_api_msg_config.filter.accesslog.v2.OrFilter>` blocks that are easier to reason about
         from a probability perspective (i.e., setting to true will cause the filter to behave like
         an independent random variable when composed within logical operator filters).
         
        bool use_independent_randomness = 3;
        Specified by:
        getUseIndependentRandomness in interface RuntimeFilterOrBuilder
        Returns:
        The useIndependentRandomness.
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo​(com.google.protobuf.CodedOutputStream output)
                     throws IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals​(Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static RuntimeFilter parseFrom​(ByteBuffer data)
                                       throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static RuntimeFilter parseFrom​(ByteBuffer data,
                                              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                       throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static RuntimeFilter parseFrom​(com.google.protobuf.ByteString data)
                                       throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static RuntimeFilter parseFrom​(com.google.protobuf.ByteString data,
                                              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                       throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static RuntimeFilter parseFrom​(byte[] data)
                                       throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static RuntimeFilter parseFrom​(byte[] data,
                                              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                       throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static RuntimeFilter parseFrom​(com.google.protobuf.CodedInputStream input,
                                              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                       throws IOException
        Throws:
        IOException
      • newBuilderForType

        public RuntimeFilter.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • toBuilder

        public RuntimeFilter.Builder toBuilder()
        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected RuntimeFilter.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstance

        public static RuntimeFilter getDefaultInstance()
      • parser

        public static com.google.protobuf.Parser<RuntimeFilter> parser()
      • getParserForType

        public com.google.protobuf.Parser<RuntimeFilter> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public RuntimeFilter getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder