[Telemetry] Add support to collect OS name and OS version information#5502
Conversation
Summary of ChangesHello, 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 enhances the telemetry collection capabilities by including operating system identification. It introduces new metadata fields to capture the OS name and version, ensuring that the toolkit can better understand the environment in which it is executed across different platforms. Highlights
Using Gemini Code AssistThe 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 by creating a comment using either
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 Limitations & Feedback Gemini Code Assist 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. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. Footnotes
|
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request adds OS name and version collection to the telemetry system, implementing platform-specific logic for Linux, macOS, and Windows. Feedback focuses on ensuring telemetry is non-intrusive by using debug logs instead of error logs for missing system information and improving the robustness of the Linux version parsing to handle different quote types.
There was a problem hiding this comment.
Code Review
This pull request introduces the collection of operating system name and version metadata into the telemetry system. It adds platform-specific logic for Linux (parsing /etc/os-release), macOS (using sw_vers), and Windows (using the ver command), along with corresponding unit tests. Feedback focuses on making telemetry collection non-intrusive by using debug-level logging instead of error-level logging for metadata retrieval failures, improving the efficiency of the Linux version parser by breaking loops early, and ensuring consistent return values for unknown OS versions.
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request adds the collection of operating system name and version to the telemetry collector. It implements platform-specific logic for Linux (parsing /etc/os-release), macOS (using sw_vers), and Windows (using ver), and includes comprehensive unit tests for these new features. Feedback was provided regarding the Linux version parsing logic, suggesting that the scanner should continue through the file even after finding a 'PRETTY_NAME' to ensure 'VERSION_ID' is also captured as a fallback.
SwarnaBharathiMantena
left a comment
There was a problem hiding this comment.
As the code includes calls to external utilities like sw_vers or ver, it is better to have a timeout. While these are usually fast, telemetry should never hang the main process if a system utility becomes unresponsive.
Done, thanks. |
652092f
into
GoogleCloudPlatform:develop
This PR enhances the telemetry collection capabilities by including operating system identification. It introduces new metadata fields to capture the OS name and version, ensuring that the toolkit can better understand the environment in which it is executed across different platforms.
Changes:
KINDLY NOTE THAT TELEMETRY DATA IS NOT BEING COLLECTED YET.