.. _envoy_v3_api_file_envoy/extensions/regex_engines/v3/google_re2.proto:

Google RE2 (proto)
==================

.. _extension_envoy.regex_engines.google_re2:

This extension has the qualified name ``envoy.regex_engines.google_re2``


.. note::
  

  This extension is intended to be robust against both untrusted downstream and
  upstream traffic.

.. tip::
  This extension extends and can be used with the following extension category:


  - :ref:`envoy.regex_engines <extension_category_envoy.regex_engines>`



  This extension must be configured with one of the following type URLs:



  - :ref:`type.googleapis.com/envoy.extensions.regex_engines.v3.GoogleRE2 <envoy_v3_api_msg_extensions.regex_engines.v3.GoogleRE2>`







.. _envoy_v3_api_msg_extensions.regex_engines.v3.GoogleRE2:

extensions.regex_engines.v3.GoogleRE2
-------------------------------------


:repo:`[extensions.regex_engines.v3.GoogleRE2 proto] <api/envoy/extensions/regex_engines/v3/google_re2.proto#L22>`

Google's `RE2 <https://github.com/google/re2>`_ regex engine. The regex string must adhere to
the documented `syntax <https://github.com/google/re2/wiki/Syntax>`_. The engine is designed
to complete execution in linear time as well as limit the amount of memory used.

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.