Class: Google::Apis::TrafficdirectorV3::GoogleRe2

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/trafficdirector_v3/classes.rb,
lib/google/apis/trafficdirector_v3/representations.rb,
lib/google/apis/trafficdirector_v3/representations.rb

Overview

Google's RE2_ regex engine. The regex string must adhere to the documented syntax_. The engine is designed to complete execution in linear time as well as limit the amount of memory used. Envoy supports program size checking via runtime. The runtime keys re2.max_program_size.error_level and re2. max_program_size.warn_level can be set to integers as the maximum program size or complexity that a compiled regex can have before an exception is thrown or a warning is logged, respectively. re2.max_program_size. error_level defaults to 100, and re2.max_program_size.warn_level has no default if unset (will not check/log a warning). Envoy emits two stats for tracking the program size of regexes: the histogram re2.program_size, which records the program size, and the counter re2.exceeded_warn_level, which is incremented each time the program size exceeds the warn level threshold.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ GoogleRe2

Returns a new instance of GoogleRe2.



819
820
821
# File 'lib/google/apis/trafficdirector_v3/classes.rb', line 819

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#max_program_sizeFixnum

This field controls the RE2 "program size" which is a rough estimate of how complex a compiled regex is to evaluate. A regex that has a program size greater than the configured value will fail to compile. In this case, the configured max program size can be increased or the regex can be simplified. If not specified, the default is 100. This field is deprecated; regexp validation should be performed on the management server instead of being done by each individual client. .. note:: Although this field is deprecated, the program size will still be checked against the global re2.max_program_size. error_level runtime value. Corresponds to the JSON property maxProgramSize

Returns:

  • (Fixnum)


817
818
819
# File 'lib/google/apis/trafficdirector_v3/classes.rb', line 817

def max_program_size
  @max_program_size
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



824
825
826
# File 'lib/google/apis/trafficdirector_v3/classes.rb', line 824

def update!(**args)
  @max_program_size = args[:max_program_size] if args.key?(:max_program_size)
end