Skip to content

Extproc new logging bits#41295

Merged
adisuissa merged 51 commits intoenvoyproxy:mainfrom
melginaldi:extproc-new-logging-bits
Dec 16, 2025
Merged

Extproc new logging bits#41295
adisuissa merged 51 commits intoenvoyproxy:mainfrom
melginaldi:extproc-new-logging-bits

Conversation

@melginaldi
Copy link
Copy Markdown
Contributor

ext_proc: Add processing_effect to ExtProcLoggingInfo

Commit Message: Add a bit to track mutations within ext_proc filter state ExtProcLoggingInfo.

Additional Description: This bit will track if a mutation occurred, if continue_and_replace was used or if an immediate response was sent. This addition will help with observability by gaining visibility into what ext_proc mutations occur.
Memory Implication: Since the defined enum has 4 values I chose use enum class: char to store the values as chars rather than ints. Therefore each enum variable will only be 1 byte of memory.

Risk Level: Low

Testing: Added multiple integration tests to ext_proc_integration_test.cc to validate this bit is set correctly in all 4 scenarios: no mutations, content modified, continue and replace and immediate response

Release Notes: Added new logging bit processing_effect to ExtProcLoggingInfo Filter State to track mutation events per GRPC call. Proccessing_event can be either None, ContentModified, ContinueAndReplace or ImmediateResponse. The default is None except processing mode FULL_DUPLEX_STREAMED whose defualt is Content Modified.

Docs Changes: N/A
Platform Specific Features: N/A

/assign @yanjunxiang-google

Signed-off-by: Melissa Ginaldi <mginaldi@google.com>
Signed-off-by: Melissa Ginaldi <mginaldi@google.com>
Signed-off-by: Melissa Ginaldi <mginaldi@google.com>
…itional test scenario

Signed-off-by: Melissa Ginaldi <mginaldi@google.com>
…-bits

Signed-off-by: Melissa Ginaldi <mginaldi@google.com>
Signed-off-by: Melissa Ginaldi <mginaldi@google.com>
…-bits

Signed-off-by: Melissa Ginaldi <mginaldi@google.com>
Signed-off-by: Melissa Ginaldi <mginaldi@google.com>
@yanjunxiang-google
Copy link
Copy Markdown
Contributor

@melginaldi Thanks for working on this. One suggestion is to keep the PR as in draft mode while you are getting the CI passing.

@melginaldi melginaldi marked this pull request as draft October 1, 2025 19:11
@melginaldi
Copy link
Copy Markdown
Contributor Author

@melginaldi Thanks for working on this. One suggestion is to keep the PR as in draft mode while you are getting the CI passing.

Ack. Thanks for the suggestion! I didn't know I could convert it back to draft. Will send for review once the CI passes

Signed-off-by: Melissa Ginaldi <mginaldi@google.com>
Signed-off-by: Melissa Ginaldi <mginaldi@google.com>
Signed-off-by: Melissa Ginaldi <mginaldi@google.com>
…-bits

Signed-off-by: Melissa Ginaldi <mginaldi@google.com>
Signed-off-by: Melissa Ginaldi <mginaldi@google.com>
…-bits

Signed-off-by: Melissa Ginaldi <mginaldi@google.com>
Signed-off-by: Melissa Ginaldi <mginaldi@google.com>
@melginaldi melginaldi marked this pull request as ready for review October 3, 2025 20:20
Comment thread source/extensions/filters/http/ext_proc/processing_request_modifier.h Outdated
Comment thread source/extensions/filters/http/ext_proc/ext_proc.cc Outdated
@adisuissa adisuissa self-assigned this Oct 6, 2025
Comment thread source/extensions/filters/http/ext_proc/ext_proc.cc Outdated
Comment thread source/extensions/filters/http/ext_proc/processor_state.cc Outdated
Comment thread source/extensions/filters/http/ext_proc/processor_state.cc Outdated
Comment thread source/extensions/filters/http/ext_proc/processor_state.cc Outdated
@yanjunxiang-google
Copy link
Copy Markdown
Contributor

/assign @stevenzzzz

Signed-off-by: Melissa Ginaldi <mginaldi@google.com>
Signed-off-by: Melissa Ginaldi <mginaldi@google.com>
Signed-off-by: Melissa Ginaldi <mginaldi@google.com>
Signed-off-by: Melissa Ginaldi <mginaldi@google.com>
…-bits

Signed-off-by: Melissa Ginaldi <mginaldi@google.com>
Comment thread source/extensions/filters/http/ext_proc/ext_proc.cc Outdated
Comment thread source/extensions/filters/http/ext_proc/ext_proc.h Outdated
Comment thread source/extensions/filters/http/ext_proc/ext_proc.h Outdated
@yanjunxiang-google
Copy link
Copy Markdown
Contributor

yanjunxiang-google commented Dec 5, 2025

LGTM overall modulo a few nit comments and also pending comments from other reviewers

Signed-off-by: Melissa Ginaldi <mginaldi@google.com>
Signed-off-by: Melissa Ginaldi <mginaldi@google.com>
Signed-off-by: Melissa Ginaldi <mginaldi@google.com>
Copy link
Copy Markdown
Contributor

@adisuissa adisuissa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall LGTM.
Left some comments.

Comment thread changelogs/current.yaml Outdated
Comment thread source/extensions/filters/http/ext_proc/processing_effect.h Outdated
Comment thread changelogs/current.yaml Outdated
Comment thread source/extensions/filters/http/ext_proc/processor_state.cc
Comment thread source/extensions/filters/http/ext_proc/mutation_utils.h
Comment thread source/extensions/filters/http/ext_proc/mutation_utils.cc
Comment thread source/extensions/filters/http/ext_proc/mutation_utils.cc
Comment thread source/extensions/filters/http/ext_proc/mutation_utils.cc
Signed-off-by: Melissa Ginaldi <mginaldi@google.com>
Signed-off-by: Melissa Ginaldi <mginaldi@google.com>
Signed-off-by: Melissa Ginaldi <mginaldi@google.com>
…ils.h comments

Signed-off-by: Melissa Ginaldi <mginaldi@google.com>
Signed-off-by: Melissa Ginaldi <mginaldi@google.com>
Copy link
Copy Markdown
Contributor

@adisuissa adisuissa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

@adisuissa adisuissa merged commit d29a0d3 into envoyproxy:main Dec 16, 2025
25 checks passed
tyxia pushed a commit that referenced this pull request Feb 25, 2026
…#43558)

Commit Message: Track fail open behavior and processing effects to
request headers as part of ExtAuthzLoggingInfo to match parity with
ext_proc filter.
Additional Description: This information will be used by
ServiceExtensions for debugging/enhanced monitoring. This functionality
was added to the ext_proc filter in #41295 and #41691, these bits are to
keep parity with the ext_proc filter. last_req_processing_effect will
hold the value of the last mutation event the filter completed on the
request headers, whether successful or not. Therefore if 5 headers were
successfully added but the 6 was invalid and the filter stopped
processing any further mutations, the value of last_processing_effect
will be InvalidMutationRejected.


Risk Level:Low
Testing:Tested in unit/integration tests
Release Notes: Added new tracking bit last_req_processing_effect and
failed_open to ExtAuthzLoggingInfo Filter State to track mutation events
and failed_open occurrences.
Docs Changes: N/A
Platform Specific Features: N/A

/assign @tyxia

---------

Signed-off-by: Melissa Ginaldi <mginaldi@google.com>
bmjask pushed a commit to bmjask/envoy that referenced this pull request Mar 14, 2026
…envoyproxy#43558)

Commit Message: Track fail open behavior and processing effects to
request headers as part of ExtAuthzLoggingInfo to match parity with
ext_proc filter.
Additional Description: This information will be used by
ServiceExtensions for debugging/enhanced monitoring. This functionality
was added to the ext_proc filter in envoyproxy#41295 and envoyproxy#41691, these bits are to
keep parity with the ext_proc filter. last_req_processing_effect will
hold the value of the last mutation event the filter completed on the
request headers, whether successful or not. Therefore if 5 headers were
successfully added but the 6 was invalid and the filter stopped
processing any further mutations, the value of last_processing_effect
will be InvalidMutationRejected.

Risk Level:Low
Testing:Tested in unit/integration tests
Release Notes: Added new tracking bit last_req_processing_effect and
failed_open to ExtAuthzLoggingInfo Filter State to track mutation events
and failed_open occurrences.
Docs Changes: N/A
Platform Specific Features: N/A

/assign @tyxia

---------

Signed-off-by: Melissa Ginaldi <mginaldi@google.com>
Signed-off-by: bjmask <11672696+bjmask@users.noreply.github.com>
bvandewalle pushed a commit to bvandewalle/envoy that referenced this pull request Mar 17, 2026
…envoyproxy#43558)

Commit Message: Track fail open behavior and processing effects to
request headers as part of ExtAuthzLoggingInfo to match parity with
ext_proc filter.
Additional Description: This information will be used by
ServiceExtensions for debugging/enhanced monitoring. This functionality
was added to the ext_proc filter in envoyproxy#41295 and envoyproxy#41691, these bits are to
keep parity with the ext_proc filter. last_req_processing_effect will
hold the value of the last mutation event the filter completed on the
request headers, whether successful or not. Therefore if 5 headers were
successfully added but the 6 was invalid and the filter stopped
processing any further mutations, the value of last_processing_effect
will be InvalidMutationRejected.


Risk Level:Low
Testing:Tested in unit/integration tests
Release Notes: Added new tracking bit last_req_processing_effect and
failed_open to ExtAuthzLoggingInfo Filter State to track mutation events
and failed_open occurrences.
Docs Changes: N/A
Platform Specific Features: N/A

/assign @tyxia

---------

Signed-off-by: Melissa Ginaldi <mginaldi@google.com>
grnmeira pushed a commit to grnmeira/envoy that referenced this pull request Mar 20, 2026
Signed-off-by: Melissa Ginaldi <mginaldi@google.com>
Signed-off-by: Gustavo <grnmeira@gmail.com>
fishcakez pushed a commit to fishcakez/envoy that referenced this pull request Mar 25, 2026
…envoyproxy#43558)

Commit Message: Track fail open behavior and processing effects to
request headers as part of ExtAuthzLoggingInfo to match parity with
ext_proc filter.
Additional Description: This information will be used by
ServiceExtensions for debugging/enhanced monitoring. This functionality
was added to the ext_proc filter in envoyproxy#41295 and envoyproxy#41691, these bits are to
keep parity with the ext_proc filter. last_req_processing_effect will
hold the value of the last mutation event the filter completed on the
request headers, whether successful or not. Therefore if 5 headers were
successfully added but the 6 was invalid and the filter stopped
processing any further mutations, the value of last_processing_effect
will be InvalidMutationRejected.


Risk Level:Low
Testing:Tested in unit/integration tests
Release Notes: Added new tracking bit last_req_processing_effect and
failed_open to ExtAuthzLoggingInfo Filter State to track mutation events
and failed_open occurrences.
Docs Changes: N/A
Platform Specific Features: N/A

/assign @tyxia

---------

Signed-off-by: Melissa Ginaldi <mginaldi@google.com>
krinkinmu pushed a commit to grnmeira/envoy that referenced this pull request Apr 20, 2026
…envoyproxy#43558)

Commit Message: Track fail open behavior and processing effects to
request headers as part of ExtAuthzLoggingInfo to match parity with
ext_proc filter.
Additional Description: This information will be used by
ServiceExtensions for debugging/enhanced monitoring. This functionality
was added to the ext_proc filter in envoyproxy#41295 and envoyproxy#41691, these bits are to
keep parity with the ext_proc filter. last_req_processing_effect will
hold the value of the last mutation event the filter completed on the
request headers, whether successful or not. Therefore if 5 headers were
successfully added but the 6 was invalid and the filter stopped
processing any further mutations, the value of last_processing_effect
will be InvalidMutationRejected.


Risk Level:Low
Testing:Tested in unit/integration tests
Release Notes: Added new tracking bit last_req_processing_effect and
failed_open to ExtAuthzLoggingInfo Filter State to track mutation events
and failed_open occurrences.
Docs Changes: N/A
Platform Specific Features: N/A

/assign @tyxia

---------

Signed-off-by: Melissa Ginaldi <mginaldi@google.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants