Skip to content

feat(goodput): use get_goodput_job_name in setup_checkpoint_logger - #5659

Open
KevinYenky wants to merge 1 commit into
mainfrom
feat/checkpoint-logger-goodput-job-name
Open

KevinYenky wants to merge 1 commit into
mainfrom
feat/checkpoint-logger-goodput-job-name

Conversation

@KevinYenky

Copy link
Copy Markdown
Collaborator

Description

Follow-up to PR#5563 to ensure Orbax checkpoint cloud logs are routed to the same Goodput logger bucket (goodput_<goodput_job_name>) when goodput_job_name is set.

Key Changes

  1. src/maxtext/common/checkpointing.py:
  • Updated setup_checkpoint_logger(config) to resolve job_name = get_goodput_job_name(config) and logger_name = f"goodput_{job_name}" instead of hardcoding config.run_name, so checkpoint Badput (UNPRODUCTIVE_CHECKPOINT_SAVE_TIME / UNPRODUCTIVE_CHECKPOINT_RESTORE_TIME) is logged to the per-workload bucket in multi-model E2E DAGs as well as production runs.
  1. src/maxtext/common/goodput.py:
  • Updated get_goodput_job_name(config) to safely fall back when goodput_job_name is absent on lightweight test mocks(getattr(config, "goodput_job_name", "") or config.run_name).
  1. src/maxtext/configs/base.yml & src/maxtext/configs/post_train/rl.yml:
  • Added inline comments clarifying that goodput_job_name is optional/test-only and defaults to run_name for production runs.
  1. tests/unit/goodput_utils_test.py:
  • Added unit test test_setup_checkpoint_logger_uses_goodput_job_name_override.

Tests

pytest tests/unit/goodput_utils_test.py -k "setup_checkpoint_logger or goodput_job_name" -v

Checklist

Before submitting this PR, please make sure (put X in square brackets):

  • I have performed a self-review of my code. For an optional AI review, add the gemini-review label.
  • I have necessary comments in my code, particularly in hard-to-understand areas.
  • I have run end-to-end tests tests and provided workload links above if applicable.
  • I have made or will make corresponding changes to the doc if needed, including adding new documentation pages to the relevant Table of Contents (toctree directive) as explained in our documentation.

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

Copy link
Copy Markdown

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 updates the checkpoint logger setup to use the get_goodput_job_name helper function, which safely retrieves the goodput_job_name attribute from the configuration (falling back to run_name if not present). It also adds goodput configuration parameters to the RL post-training configuration (rl.yml), documents the optional nature of goodput_job_name in base.yml, and adds a unit test to verify the job name override behavior. There are no review comments, and I have no additional feedback to provide.

@KevinYenky
KevinYenky force-pushed the feat/checkpoint-logger-goodput-job-name branch from 7cef4a9 to de232e2 Compare October 12, 2026 06:21
@codecov

codecov Bot commented Oct 12, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Comment thread src/maxtext/common/checkpointing.py Outdated
@KevinYenky
KevinYenky force-pushed the feat/checkpoint-logger-goodput-job-name branch from de232e2 to 5e9fb00 Compare October 12, 2026 08:52
Signed-off-by: KevinYenky <kevin.yen@cienet.com>
@KevinYenky
KevinYenky force-pushed the feat/checkpoint-logger-goodput-job-name branch from ccd1679 to 1a86a59 Compare October 13, 2026 01:50

This branch has not been deployed

No deployments
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.

2 participants