Skip to content

Emit metrics on execution time of BBR plugins#2379

Merged
k8s-ci-robot merged 1 commit intokubernetes-sigs:mainfrom
asaadbalum:issue-2355-bbr-plugin-metrics
Feb 22, 2026
Merged

Emit metrics on execution time of BBR plugins#2379
k8s-ci-robot merged 1 commit intokubernetes-sigs:mainfrom
asaadbalum:issue-2355-bbr-plugin-metrics

Conversation

@asaadbalum
Copy link
Copy Markdown
Contributor

@asaadbalum asaadbalum commented Feb 19, 2026

What type of PR is this?

/kind feature

What this PR does / why we need it:

Adds observability for BBR plugin execution latencies by introducing a
bbr_plugin_duration_seconds histogram metric. This mirrors the existing
EPP inference_extension_plugin_duration_seconds metric and enables
identification of performance bottlenecks caused by specific BBR plugins.

Each plugin execution in the request path is timed and recorded with
extension_point, plugin_type, and plugin_name labels, using the
same bucket boundaries as the EPP equivalent.

Which issue(s) this PR fixes:

Fixes #2355

Does this PR introduce a user-facing change?:

NONE

@k8s-ci-robot k8s-ci-robot added do-not-merge/invalid-commit-message Indicates that a PR should not merge because it has an invalid commit message. kind/feature Categorizes issue or PR as related to a new feature. labels Feb 19, 2026
@k8s-ci-robot k8s-ci-robot requested a review from elevran February 19, 2026 11:35
@netlify
Copy link
Copy Markdown

netlify Bot commented Feb 19, 2026

Deploy Preview for gateway-api-inference-extension ready!

Name Link
🔨 Latest commit d48fddb
🔍 Latest deploy log https://app.netlify.com/projects/gateway-api-inference-extension/deploys/699ab28768265e000833d4cb
😎 Deploy Preview https://deploy-preview-2379--gateway-api-inference-extension.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@linux-foundation-easycla
Copy link
Copy Markdown

linux-foundation-easycla Bot commented Feb 19, 2026

CLA Signed

The committers listed above are authorized under a signed CLA.

  • ✅ login: asaadbalum / name: asaadbalum (d48fddb)

@k8s-ci-robot
Copy link
Copy Markdown
Contributor

Welcome @asaadbalum!

It looks like this is your first PR to kubernetes-sigs/gateway-api-inference-extension 🎉. Please refer to our pull request process documentation to help your PR have a smooth ride to approval.

You will be prompted by a bot to use commands during the review process. Do not be afraid to follow the prompts! It is okay to experiment. Here is the bot commands documentation.

You can also check if kubernetes-sigs/gateway-api-inference-extension has its own contribution guidelines.

You may want to refer to our testing guide if you run into trouble with your tests not passing.

If you are having difficulty getting your pull request seen, please follow the recommended escalation practices. Also, for tips and tricks in the contribution process you may want to read the Kubernetes contributor cheat sheet. We want to make sure your contribution gets all the attention it needs!

Thank you, and welcome to Kubernetes. 😃

@k8s-ci-robot
Copy link
Copy Markdown
Contributor

Hi @asaadbalum. Thanks for your PR.

I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@k8s-ci-robot k8s-ci-robot added needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. cncf-cla: no Indicates the PR's author has not signed the CNCF CLA. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. and removed cncf-cla: no Indicates the PR's author has not signed the CNCF CLA. labels Feb 19, 2026
@asaadbalum asaadbalum force-pushed the issue-2355-bbr-plugin-metrics branch from 4b60d55 to 8c15708 Compare February 19, 2026 12:00
@k8s-ci-robot k8s-ci-robot removed the do-not-merge/invalid-commit-message Indicates that a PR should not merge because it has an invalid commit message. label Feb 19, 2026
@nirrozenbaum
Copy link
Copy Markdown
Contributor

/ok-to-test

@k8s-ci-robot k8s-ci-robot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Feb 19, 2026
Comment thread pkg/bbr/handlers/request.go Outdated
modelHeader = "X-Gateway-Model-Name"
baseModelHeader = "X-Gateway-Base-Model-Name"

executeExtensionPoint = "Execute"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

can we call that "Request"?
we will eventually end up with mirrored picture of plugins, and the extension point marks whether it was executed in the request, or the response.

Suggested change
executeExtensionPoint = "Execute"
executeExtensionPoint = "Request"

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Good catch, thanks.
Updated.

@asaadbalum asaadbalum force-pushed the issue-2355-bbr-plugin-metrics branch from 8c15708 to 9dcf164 Compare February 19, 2026 12:24
Comment thread pkg/bbr/handlers/request_test.go Outdated

"sigs.k8s.io/gateway-api-inference-extension/pkg/bbr/framework"
"sigs.k8s.io/gateway-api-inference-extension/pkg/bbr/metrics"
bbrplugins "sigs.k8s.io/gateway-api-inference-extension/pkg/bbr/plugins"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

nit: can we remove the bbrplugins alias?
plugins in the context of bbr code are always bbr plugins

Copy link
Copy Markdown
Contributor Author

@asaadbalum asaadbalum Feb 22, 2026

Choose a reason for hiding this comment

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

@nirrozenbaum
yes, absolutely.
Modified.

@nirrozenbaum
Copy link
Copy Markdown
Contributor

/lgtm
/approve
/hold

holding in case you want to fix the nit, if not please unhold.

@k8s-ci-robot k8s-ci-robot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Feb 21, 2026
@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Feb 21, 2026
@k8s-ci-robot
Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: asaadbalum, nirrozenbaum

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Feb 21, 2026
Add plugin processing latency histogram (bbr_plugin_duration_seconds)
mirroring the EPP pattern. Instrument executePlugins() to record
per-plugin execution time with extension_point, plugin_type, and
plugin_name labels.

Signed-off-by: asaadbalum <asaad.balum@gmail.com>
@asaadbalum asaadbalum force-pushed the issue-2355-bbr-plugin-metrics branch from 9dcf164 to d48fddb Compare February 22, 2026 07:38
@k8s-ci-robot k8s-ci-robot removed the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Feb 22, 2026
@nirrozenbaum
Copy link
Copy Markdown
Contributor

/retest

@nirrozenbaum
Copy link
Copy Markdown
Contributor

/unhold

@k8s-ci-robot k8s-ci-robot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Feb 22, 2026
@nirrozenbaum
Copy link
Copy Markdown
Contributor

/lgtm

Thanks! 🙏🏼

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Feb 22, 2026
@k8s-ci-robot k8s-ci-robot merged commit 53970f1 into kubernetes-sigs:main Feb 22, 2026
11 checks passed
@asaadbalum asaadbalum deleted the issue-2355-bbr-plugin-metrics branch February 23, 2026 07:51
kaushikmitr pushed a commit to tomatillo-and-multiverse/gateway-api-inference-extension-merged that referenced this pull request Feb 24, 2026
Add plugin processing latency histogram (bbr_plugin_duration_seconds)
mirroring the EPP pattern. Instrument executePlugins() to record
per-plugin execution time with extension_point, plugin_type, and
plugin_name labels.

Signed-off-by: asaadbalum <asaad.balum@gmail.com>
RyanRosario pushed a commit to RyanRosario/gateway-api-inference-extension that referenced this pull request Mar 9, 2026
Add plugin processing latency histogram (bbr_plugin_duration_seconds)
mirroring the EPP pattern. Instrument executePlugins() to record
per-plugin execution time with extension_point, plugin_type, and
plugin_name labels.

Signed-off-by: asaadbalum <asaad.balum@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/feature Categorizes issue or PR as related to a new feature. lgtm "Looks good to me", indicates that a PR is ready to be merged. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[pluggable bbr] emit metrics on execution time of bbr plugins

3 participants