Skip to content

[Data] Add average_num_inputs_per_task and num_output_blocks_per_task_s metrics#56379

Merged
bveeramani merged 4 commits intomasterfrom
add-new-metrics
Sep 10, 2025
Merged

[Data] Add average_num_inputs_per_task and num_output_blocks_per_task_s metrics#56379
bveeramani merged 4 commits intomasterfrom
add-new-metrics

Conversation

@bveeramani
Copy link
Copy Markdown
Member

@bveeramani bveeramani commented Sep 9, 2025

Why are these changes needed?

This PR adds two task-level metrics for better visibility into operator performance:

  • average_num_inputs_per_task – average input blocks per task.
  • num_output_blocks_per_task_s – average output blocks per task per second.

Both return None if no tasks have finished or no output exists, avoiding misleading values. These metrics can be used to help making scheduling decisions.

Related issue number

Checks

  • I've signed off every commit(by using the -s flag, i.e., git commit -s) in this PR.
  • I've run scripts/format.sh to lint the changes in this PR.
  • I've included any doc changes needed for https://docs.ray.io/en/master/.
    • I've added any new APIs to the API Reference. For example, if I added a
      method in Tune, I've added it in doc/source/tune/api/ under the
      corresponding .rst file.
  • I've made sure the tests are passing. Note that there might be a few flaky tests, see the recent failures at https://flakey-tests.ray.io/
  • Testing Strategy
    • Unit tests
    • Release tests
    • This PR is not tested :(

Signed-off-by: Balaji Veeramani <bveeramani@berkeley.edu>
@bveeramani bveeramani requested a review from a team as a code owner September 9, 2025 17:19
Copy link
Copy Markdown
Contributor

@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 introduces two new metrics for operator performance monitoring. The implementation is mostly correct, but I've identified a couple of areas for improvement. Specifically, for the average_num_inputs_per_task metric, the description and metrics group seem to be incorrect, likely due to a copy-paste error. For num_output_blocks_per_task_s, I've suggested a rename and description update to better reflect its nature as a rate of block generation, which should improve clarity. The test updates are appropriate but will need to be adjusted if my suggestions are implemented.

Copy link
Copy Markdown
Contributor

@iamjustinhsu iamjustinhsu left a comment

Choose a reason for hiding this comment

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

gemini comment

@ray-gardener ray-gardener bot added the data Ray Data-related issues label Sep 9, 2025
@bveeramani bveeramani enabled auto-merge (squash) September 9, 2025 19:14
@github-actions github-actions bot added the go add ONLY when ready to merge, run all tests label Sep 9, 2025
Signed-off-by: Balaji Veeramani <bveeramani@berkeley.edu>
@github-actions github-actions bot disabled auto-merge September 9, 2025 19:15
@bveeramani bveeramani enabled auto-merge (squash) September 9, 2025 19:16
@github-actions github-actions bot disabled auto-merge September 9, 2025 19:16
@bveeramani bveeramani enabled auto-merge (squash) September 9, 2025 20:51
@github-actions github-actions bot disabled auto-merge September 10, 2025 18:10
@bveeramani bveeramani merged commit d28b3f4 into master Sep 10, 2025
5 checks passed
@bveeramani bveeramani deleted the add-new-metrics branch September 10, 2025 20:02
ZacAttack pushed a commit to ZacAttack/ray that referenced this pull request Sep 24, 2025
…ask_s` metrics (ray-project#56379)

<!-- Thank you for your contribution! Please review
https://github.com/ray-project/ray/blob/master/CONTRIBUTING.rst before
opening a pull request. -->

<!-- Please add a reviewer to the assignee section when you create a PR.
If you don't have the access to it, we will shortly find a reviewer and
assign them to your PR. -->

## Why are these changes needed?

<!-- Please give a short summary of the change and the problem this
solves. -->

This PR adds two task-level metrics for better visibility into operator
performance:
* `average_num_inputs_per_task` – average input blocks per task.
* `num_output_blocks_per_task_s` – average output blocks per task per
second.

Both return `None` if no tasks have finished or no output exists,
avoiding misleading values. These metrics can be used to help making
scheduling decisions.

## Related issue number

<!-- For example: "Closes ray-project#1234" -->

## Checks

- [ ] I've signed off every commit(by using the -s flag, i.e., `git
commit -s`) in this PR.
- [ ] I've run `scripts/format.sh` to lint the changes in this PR.
- [ ] I've included any doc changes needed for
https://docs.ray.io/en/master/.
- [ ] I've added any new APIs to the API Reference. For example, if I
added a
method in Tune, I've added it in `doc/source/tune/api/` under the
           corresponding `.rst` file.
- [ ] I've made sure the tests are passing. Note that there might be a
few flaky tests, see the recent failures at https://flakey-tests.ray.io/
- Testing Strategy
   - [ ] Unit tests
   - [ ] Release tests
   - [ ] This PR is not tested :(

---------

Signed-off-by: Balaji Veeramani <bveeramani@berkeley.edu>
Signed-off-by: zac <zac@anyscale.com>
dstrodtman pushed a commit that referenced this pull request Oct 6, 2025
…ask_s` metrics (#56379)

<!-- Thank you for your contribution! Please review
https://github.com/ray-project/ray/blob/master/CONTRIBUTING.rst before
opening a pull request. -->

<!-- Please add a reviewer to the assignee section when you create a PR.
If you don't have the access to it, we will shortly find a reviewer and
assign them to your PR. -->

## Why are these changes needed?

<!-- Please give a short summary of the change and the problem this
solves. -->

This PR adds two task-level metrics for better visibility into operator
performance:
* `average_num_inputs_per_task` – average input blocks per task.
* `num_output_blocks_per_task_s` – average output blocks per task per
second.

Both return `None` if no tasks have finished or no output exists,
avoiding misleading values. These metrics can be used to help making
scheduling decisions.

## Related issue number

<!-- For example: "Closes #1234" -->

## Checks

- [ ] I've signed off every commit(by using the -s flag, i.e., `git
commit -s`) in this PR.
- [ ] I've run `scripts/format.sh` to lint the changes in this PR.
- [ ] I've included any doc changes needed for
https://docs.ray.io/en/master/.
- [ ] I've added any new APIs to the API Reference. For example, if I
added a
method in Tune, I've added it in `doc/source/tune/api/` under the
           corresponding `.rst` file.
- [ ] I've made sure the tests are passing. Note that there might be a
few flaky tests, see the recent failures at https://flakey-tests.ray.io/
- Testing Strategy
   - [ ] Unit tests
   - [ ] Release tests
   - [ ] This PR is not tested :(

---------

Signed-off-by: Balaji Veeramani <bveeramani@berkeley.edu>
Signed-off-by: Douglas Strodtman <douglas@anyscale.com>
justinyeh1995 pushed a commit to justinyeh1995/ray that referenced this pull request Oct 20, 2025
…ask_s` metrics (ray-project#56379)

<!-- Thank you for your contribution! Please review
https://github.com/ray-project/ray/blob/master/CONTRIBUTING.rst before
opening a pull request. -->

<!-- Please add a reviewer to the assignee section when you create a PR.
If you don't have the access to it, we will shortly find a reviewer and
assign them to your PR. -->

## Why are these changes needed?

<!-- Please give a short summary of the change and the problem this
solves. -->

This PR adds two task-level metrics for better visibility into operator
performance:
* `average_num_inputs_per_task` – average input blocks per task.
* `num_output_blocks_per_task_s` – average output blocks per task per
second.

Both return `None` if no tasks have finished or no output exists,
avoiding misleading values. These metrics can be used to help making
scheduling decisions.

## Related issue number

<!-- For example: "Closes ray-project#1234" -->

## Checks

- [ ] I've signed off every commit(by using the -s flag, i.e., `git
commit -s`) in this PR.
- [ ] I've run `scripts/format.sh` to lint the changes in this PR.
- [ ] I've included any doc changes needed for
https://docs.ray.io/en/master/.
- [ ] I've added any new APIs to the API Reference. For example, if I
added a
method in Tune, I've added it in `doc/source/tune/api/` under the
           corresponding `.rst` file.
- [ ] I've made sure the tests are passing. Note that there might be a
few flaky tests, see the recent failures at https://flakey-tests.ray.io/
- Testing Strategy
   - [ ] Unit tests
   - [ ] Release tests
   - [ ] This PR is not tested :(

---------

Signed-off-by: Balaji Veeramani <bveeramani@berkeley.edu>
landscapepainter pushed a commit to landscapepainter/ray that referenced this pull request Nov 17, 2025
…ask_s` metrics (ray-project#56379)

<!-- Thank you for your contribution! Please review
https://github.com/ray-project/ray/blob/master/CONTRIBUTING.rst before
opening a pull request. -->

<!-- Please add a reviewer to the assignee section when you create a PR.
If you don't have the access to it, we will shortly find a reviewer and
assign them to your PR. -->

## Why are these changes needed?

<!-- Please give a short summary of the change and the problem this
solves. -->

This PR adds two task-level metrics for better visibility into operator
performance:
* `average_num_inputs_per_task` – average input blocks per task.
* `num_output_blocks_per_task_s` – average output blocks per task per
second.

Both return `None` if no tasks have finished or no output exists,
avoiding misleading values. These metrics can be used to help making
scheduling decisions.

## Related issue number

<!-- For example: "Closes ray-project#1234" -->

## Checks

- [ ] I've signed off every commit(by using the -s flag, i.e., `git
commit -s`) in this PR.
- [ ] I've run `scripts/format.sh` to lint the changes in this PR.
- [ ] I've included any doc changes needed for
https://docs.ray.io/en/master/.
- [ ] I've added any new APIs to the API Reference. For example, if I
added a
method in Tune, I've added it in `doc/source/tune/api/` under the
           corresponding `.rst` file.
- [ ] I've made sure the tests are passing. Note that there might be a
few flaky tests, see the recent failures at https://flakey-tests.ray.io/
- Testing Strategy
   - [ ] Unit tests
   - [ ] Release tests
   - [ ] This PR is not tested :(

---------

Signed-off-by: Balaji Veeramani <bveeramani@berkeley.edu>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

data Ray Data-related issues go add ONLY when ready to merge, run all tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants