Skip to content

[Telemetry] Add support for collection of CPU machines and Default machines when unset in module#5696

Merged
kadupoornima merged 8 commits into
GoogleCloudPlatform:developfrom
kadupoornima:tel-fix-1
May 25, 2026
Merged

[Telemetry] Add support for collection of CPU machines and Default machines when unset in module#5696
kadupoornima merged 8 commits into
GoogleCloudPlatform:developfrom
kadupoornima:tel-fix-1

Conversation

@kadupoornima

@kadupoornima kadupoornima commented May 22, 2026

Copy link
Copy Markdown
Contributor

This pull request enhances the telemetry collection mechanism by supporting collection of CPU machine types and default machine types when unset in module. By supporting a wider array of configuration settings, the system can now more accurately capture machine specifications across diverse module types, including GKE clusters and TPU nodes. The changes also streamline the internal module retrieval process by removing unnecessary regex-based filtering.

Changes:

  • Supporting Default Machine Types: Added support for collection of machine type when nothing is set in the module.
  • Expanded Machine Type Detection: Added support for additional machine type settings including 'node_type' and 'system_node_pool_machine_type' to improve telemetry coverage for GKE and TPU modules.
  • Refactored Module Retrieval: Replaced the regex-based module filtering with a more direct approach using 'config.GetAllBpModules', simplifying the logic and removing the now-redundant 'getModulesWithPattern' helper function.
  • Updated Unit Tests: Refactored 'TestGetMachineType' to improve test readability and coverage, ensuring all new machine type settings are correctly extracted and deduplicated.

@kadupoornima kadupoornima requested a review from parulbajaj01 May 22, 2026 09:16
@kadupoornima kadupoornima requested a review from a team as a code owner May 22, 2026 09:16
@kadupoornima kadupoornima added the release-improvements Added to release notes under the "Improvements" heading. label May 22, 2026
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, 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 mechanism by broadening the criteria used to identify machine types within a blueprint. By supporting a wider array of configuration settings, the system can now more accurately capture machine specifications across diverse module types, including GKE clusters and TPU nodes. The changes also streamline the internal module retrieval process by removing unnecessary regex-based filtering.

Highlights

  • Expanded Machine Type Detection: Added support for additional machine type settings including 'node_type' and 'system_node_pool_machine_type' to improve telemetry coverage for GKE and TPU modules.
  • Refactored Module Retrieval: Replaced the regex-based module filtering with a more direct approach using 'config.GetAllBpModules', simplifying the logic and removing the now-redundant 'getModulesWithPattern' helper function.
  • Updated Unit Tests: Refactored 'TestGetMachineType' to improve test readability and coverage, ensuring all new machine type settings are correctly extracted and deduplicated.
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 by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

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 pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize the 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 may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counterproductive. 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

  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.

@kadupoornima kadupoornima enabled auto-merge (squash) May 22, 2026 09:16

@gemini-code-assist gemini-code-assist Bot left a comment

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.

Code Review

This pull request refactors the telemetry collection logic to identify machine types across all blueprint modules rather than filtering by specific module patterns. It introduces a list of recognized settings keys—machine_type, node_type, and system_node_pool_machine_type—and updates the getMachineType function to iterate through all modules for these keys. Additionally, the unused getModulesWithPattern helper was removed, and unit tests were expanded and refactored to validate these changes. I have no feedback to provide as no review comments were present.

@kadupoornima

Copy link
Copy Markdown
Contributor Author

/gemini summary

@kadupoornima

Copy link
Copy Markdown
Contributor Author

/gemini review

@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

This pull request improves the telemetry collection mechanism by broadening the criteria used to identify machine types within a blueprint. By supporting a wider array of configuration settings, the system can now more accurately capture machine specifications across diverse module types, including GKE clusters and TPU nodes. The changes also streamline the internal module retrieval process by removing unnecessary regex-based filtering.

Highlights

  • Expanded Machine Type Detection: Added support for additional machine type settings including 'node_type' and 'system_node_pool_machine_type' to improve telemetry coverage for GKE and TPU modules.
  • Refactored Module Retrieval: Replaced the regex-based module filtering with a more direct approach using 'config.GetAllBpModules', simplifying the logic and removing the now-redundant 'getModulesWithPattern' helper function.
  • Updated Unit Tests: Refactored 'TestGetMachineType' to improve test readability and coverage, ensuring all new machine type settings are correctly extracted and deduplicated.
Activity
  • Gemini Code Assist provided an initial summary of the pull request.
  • The author requested a summary update.

@kadupoornima kadupoornima changed the title [Telemetry] Add support for collection of CPU machine types [Telemetry] Add support for collection of CPU machines and Default machines when unset in module May 22, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

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.

Code Review

This pull request refactors machine type extraction in the telemetry collector to support multiple configuration keys and retrieve default values from module definitions. Feedback highlights a bug in extractDefaultMachineType that incorrectly returns early when a module kind is not explicitly specified, and suggests optimizing the extraction loop to avoid redundant, expensive lookups for default values.

Comment thread pkg/telemetry/collector_util.go
Comment thread pkg/telemetry/collector.go Outdated

@parulbajaj01 parulbajaj01 left a comment

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.

LGTM

@kadupoornima kadupoornima merged commit 3e041a5 into GoogleCloudPlatform:develop May 25, 2026
13 of 76 checks passed
@kadupoornima kadupoornima deleted the tel-fix-1 branch May 25, 2026 05:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release-improvements Added to release notes under the "Improvements" heading.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants