Skip to content

tracing: expose CEL config for HCM and routes#45947

Draft
kamalmarhubi wants to merge 2 commits into
envoyproxy:mainfrom
kamalmarhubi:push-nyszkurkotmm
Draft

tracing: expose CEL config for HCM and routes#45947
kamalmarhubi wants to merge 2 commits into
envoyproxy:mainfrom
kamalmarhubi:push-nyszkurkotmm

Conversation

@kamalmarhubi

Copy link
Copy Markdown

NOTE: This PR is stacked on top of #45934. The top commit is the incremental diff.

Commit Message:
tracing: expose CEL config for HCM and routes

Tracing custom tags and operation names use formatter command parsers, but route tracing and HCM tracing had no place to configure them. Add scoped formatters fields and pass the parsed parsers through to custom tags, operation names, and upstream operation names.

Built-in parsers such as %CEL% remain available when the field is empty. The new field is only needed for extension parsers or overrides such as CEL string functions.

Fixes #45447

Additional Description: See #45447 for motivation: enabling CEL string functions in tracing custom tags and operation names.
AI Disclosure: This was developed by iterating with OpenAI Codex (GPT-5.5), with review and further iteration using Claude Code (Opus 4.8). I reviewed and edited the generated output, understand the submitted changes, and take responsibility for them.
Risk Level: Low
Testing:

bazel test \
  //test/common/router:route_tracing_formatter_test \
  //test/extensions/filters/network/http_connection_manager:tracing_formatter_config_test

Docs Changes: Inline proto documentation for the new formatters fields.
Release Notes: Added (tracing).
Platform Specific Features: N/A.
API Considerations: adds formatters (repeated core.v3.TypedExtensionConfig) to route tracing and HCM tracing configuration. This is additive; omitting it preserves existing behaviour.

Add `cel_config` to `envoy.formatter.cel` configuration, allowing CEL
runtime options to be enabled on a per-formatter basis.

This is prerequisite work for envoyproxy#45420 and envoyproxy#45447: both are about enabling
CEL string functions through formatter configuration, but the CEL
formatter extension did not expose the underlying CEL expression runtime
options.

The built-in CEL parser still uses the active server context, so
existing unconfigured CEL formatter command usage is unchanged.

Signed-off-by: Kamal Al Marhubi <kamal@marhubi.com>
Tracing custom tags and operation names use formatter command parsers,
but route tracing and HCM tracing had no place to configure them. Add
scoped `formatters` fields and pass the parsed parsers through to custom
tags, operation names, and upstream operation names.

Built-in parsers such as `%CEL%` remain available when the field is
empty. The new field is only needed for extension parsers or overrides
such as CEL string functions.

Fixes envoyproxy#45447

Signed-off-by: Kamal Al Marhubi <kamal@marhubi.com>
@repokitteh-read-only

Copy link
Copy Markdown

Hi @kamalmarhubi, welcome and thank you for your contribution.

We will try to review your Pull Request as quickly as possible.

In the meantime, please take a look at the contribution guidelines if you have not done so already.

🐱

Caused by: #45947 was opened by kamalmarhubi.

see: more, trace.

@kamalmarhubi kamalmarhubi requested a deployment to external-contributors July 2, 2026 15:34 — with GitHub Actions Waiting
@repokitteh-read-only

Copy link
Copy Markdown

As a reminder, PRs marked as draft will not be automatically assigned reviewers,
or be handled by maintainer-oncall triage.

Please mark your PR as ready when you want it to be reviewed!

🐱

Caused by: #45947 was opened by kamalmarhubi.

see: more, trace.

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.

tracing: Expose CEL config on tracing for HCM and routes

1 participant