-
Notifications
You must be signed in to change notification settings - Fork 435
[FEATURE]: metrics server support for gateway plugins & dashboard #1211
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[FEATURE]: metrics server support for gateway plugins & dashboard #1211
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Summary of Changes
Hello @Venkat2811, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!
This pull request significantly enhances the observability of the AIBrix gateway plugins by integrating a new Prometheus metrics server directly into the plugin. It includes the necessary Kubernetes configurations for Prometheus to scrape these metrics and provides a new Grafana dashboard for visualizing critical performance indicators. These changes aim to provide deeper insights into the gateway's behavior and performance, especially concerning its routing algorithms.
Highlights
- Metrics Server Integration: A dedicated HTTP metrics server, utilizing the Prometheus client library, has been embedded within the gateway plugin. This server exposes a
/metrics
endpoint, enabling the collection of internal plugin metrics. - Kubernetes Observability Configuration: The Kubernetes Service and Deployment configurations for the
gateway-plugins
have been updated to expose the new metrics port (8080). Additionally, PrometheusServiceMonitor
resources have been added to automatically discover and scrape metrics from the gateway plugin. - Grafana Dashboard for Gateway Plugins: A new Grafana dashboard has been introduced, providing comprehensive visualizations for key performance indicators related to the gateway plugin's routing algorithms. This includes metrics such as VTC (Virtual Token Counter) bucket size, its rate of change, and Time-to-First-Token (TTFT) latency by model, facilitating performance analysis and tuning.
- Enhanced Development Workflow: New
Makefile
targets (dev-install-in-kind
,dev-uninstall-from-kind
,dev-port-forward
,dev-stop-port-forward
) have been added. These targets streamline the setup, teardown, and local access to a Kind Kubernetes cluster, including the deployment of Prometheus and Grafana for a complete observability stack.
Using Gemini Code Assist
The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.
Invoking Gemini
You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command>
or @gemini-code-assist <command>
. Below is a summary of the supported commands.
Feature | Command | Description |
---|---|---|
Code Review | /gemini review |
Performs a code review for the current pull request in its current state. |
Pull Request Summary | /gemini summary |
Provides a summary of the current pull request in its current state. |
Comment | @gemini-code-assist | Responds in comments when explicitly tagged, both in issue comments and review comments. |
Help | /gemini help |
Displays a list of available commands. |
Customization
To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/
folder in the base of the repository. Detailed instructions can be found here.
Limitations & Feedback
Gemini Code Assist is currently in preview and may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments to provide feedback.
You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.
Footnotes
-
Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request introduces metrics server support for gateway plugins, a Grafana dashboard, and enhances the development workflow with new Makefile targets for Kind cluster setup. Key points include updating copyright years, improving error messages, and enhancing logging consistency.
eaade92
to
78940a2
Compare
1012118
to
6ef1a9f
Compare
6ef1a9f
to
c7978aa
Compare
The change looks good to me. @varungup90 Please take another look at the metric server for plugin. |
Signed-off-by: Venkat Raman <vraman2811@gmail.com>
… observability/monitor Signed-off-by: Venkat Raman <vraman2811@gmail.com>
Signed-off-by: Venkat Raman <vraman2811@gmail.com>
c7978aa
to
c94e700
Compare
…lm-project#1211) Signed-off-by: Venkat Raman <vraman2811@gmail.com> Signed-off-by: Modi Tamam <modi.tamam@gmail.com>
…lm-project#1211) Signed-off-by: Venkat Raman <vraman2811@gmail.com> Signed-off-by: Modi Tamam <modi.tamam@gmail.com>
…lm-project#1211) Signed-off-by: Venkat Raman <vraman2811@gmail.com>
Pull Request Description
Related Issues
As discussed in : #1112 (comment)
Submission Checklist