Skip to content

upgrade prometheus-cpp to v1.3.0 #4995

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

Draft
wants to merge 1 commit into
base: v3.0
Choose a base branch
from

Conversation

mirostauder
Copy link
Collaborator

upgrade prometheus-cpp to v1.3.0
upgrade dependency civetweb to 1.16

@mirostauder mirostauder self-assigned this Jun 18, 2025
Copy link

@gemini-code-assist gemini-code-assist bot left a 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 @mirostauder, 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 primarily focuses on upgrading the prometheus-cpp library to version 1.3.0 and its underlying dependency, civetweb, to version 1.16. This upgrade necessitates adjustments to how prometheus-cpp is built and patched within our system, ensuring continued compatibility and functionality with the newer library versions.

Highlights

  • Prometheus-cpp Upgrade: The core prometheus-cpp library has been upgraded from v1.1.0 to v1.3.0.
  • Civetweb Dependency Upgrade: The civetweb dependency, used by prometheus-cpp for its HTTP server, has been upgraded to version 1.16.
  • Patch Compatibility Adjustments: Existing custom patches (registry_counters_reset.patch and serial_exposer.patch) have been updated to ensure they apply correctly and are compatible with the new prometheus-cpp v1.3.0 codebase.
  • Deprecated Patch Removal: The fix_old_distros.patch is no longer applied during the prometheus-cpp build process, suggesting its fixes are either integrated into v1.3.0 or are no longer necessary.
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

  1. 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.

@mirostauder mirostauder linked an issue Jun 18, 2025 that may be closed by this pull request
18 tasks
@mirostauder mirostauder removed a link to an issue Jun 18, 2025
18 tasks
Copy link

@gemini-code-assist gemini-code-assist bot left a 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 upgrades prometheus-cpp to v1.3.0 and its dependency civetweb to 1.16. The review focuses on ensuring that the removal of a compatibility patch (fix_old_distros.patch) is justified and that modifications to the registry_counters_reset.patch correctly leverage any new reset functionalities in prometheus-cpp v1.3.0, maintaining the existing behavior for ProxySQL.

@@ -267,7 +267,7 @@ prometheus-cpp/prometheus-cpp/lib/libprometheus-cpp-core.a:
cd prometheus-cpp && tar --strip-components=1 -zxf civetweb-*.tar.gz -C prometheus-cpp/3rdparty/civetweb
cd prometheus-cpp/prometheus-cpp && patch -p1 < ../serial_exposer.patch
cd prometheus-cpp/prometheus-cpp && patch -p1 < ../registry_counters_reset.patch
cd prometheus-cpp/prometheus-cpp && patch -p1 < ../fix_old_distros.patch
# cd prometheus-cpp/prometheus-cpp && patch -p1 < ../fix_old_distros.patch

Choose a reason for hiding this comment

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

medium

The patch fix_old_distros.patch is no longer applied to prometheus-cpp as this line is now commented out.
Could you please clarify if this patch has become obsolete with the upgrade to prometheus-cpp v1.3.0, or if its removal might affect compatibility with older distributions? Understanding the rationale for this change would be helpful.

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.

1 participant