Class: Google::Apis::TrafficdirectorV3::GoogleRe2
- Inherits:
-
Object
- Object
- Google::Apis::TrafficdirectorV3::GoogleRe2
- 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
-
#max_program_size ⇒ Fixnum
This field controls the RE2 "program size" which is a rough estimate of how complex a compiled regex is to evaluate.
Instance Method Summary collapse
-
#initialize(**args) ⇒ GoogleRe2
constructor
A new instance of GoogleRe2.
-
#update!(**args) ⇒ Object
Update properties of this object.
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_size ⇒ Fixnum
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
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 |