Skip to content

Add WorkerListInfo proto for efficient worker listing#724

Merged
rkannan82 merged 3 commits intomasterfrom
kannan/worker-summary-proto
Mar 10, 2026
Merged

Add WorkerListInfo proto for efficient worker listing#724
rkannan82 merged 3 commits intomasterfrom
kannan/worker-summary-proto

Conversation

@rkannan82
Copy link
Copy Markdown
Contributor

@rkannan82 rkannan82 commented Feb 27, 2026

What changed?

  • Add WorkerListInfo proto for List API (follows CHASM entity conventions like ActivityExecutionListInfo, ScheduleListEntry)
  • Add workers field to ListWorkersResponse returning repeated WorkerListInfo
  • Deprecate workers_info field in ListWorkersResponse

Server PR

Why?

Listing many workers with full WorkerInfo (containing dynamic metrics) is expensive. WorkerListInfo contains only static/slow-changing fields for efficient listing.

How did you test it?

  • make proto passes

Potential risks

None - backward compatible.

@rkannan82 rkannan82 requested review from a team as code owners February 27, 2026 00:12
@rkannan82 rkannan82 marked this pull request as draft February 27, 2026 00:12
@rkannan82 rkannan82 force-pushed the kannan/worker-summary-proto branch 2 times, most recently from 9e0ccf0 to a12853c Compare February 27, 2026 00:18
@rkannan82 rkannan82 requested a review from bergundy February 27, 2026 00:31
## What changed?
- Add `WorkerSummary` proto containing static/slow-changing worker fields
- Update `WorkerInfo` to embed `WorkerSummary` and add dynamic fields separately
- Deprecate `worker_heartbeat` field in `WorkerInfo`
- Add `workers` field to `ListWorkersResponse` using `WorkerSummary`
- Deprecate `workers_info` field in `ListWorkersResponse`

## Why?
The current `ListWorkersResponse` returns full `WorkerInfo` which includes
expensive dynamic metrics (CPU, memory, slot usage) that change frequently.
For listing many workers, we only need static/slow-changing information.

This change separates worker information into:
- `WorkerSummary`: static fields for efficient listing
- `WorkerInfo`: full details including dynamic metrics for DescribeWorker

Made-with: Cursor
@rkannan82 rkannan82 force-pushed the kannan/worker-summary-proto branch from a12853c to 749ca5b Compare February 27, 2026 00:46
…ity conventions

Follow the established naming pattern used by other CHASM entities:
- ActivityExecutionListInfo (for ListActivityExecutions)
- ScheduleListEntry (for ListSchedules)
- BatchOperationInfo (for ListBatchOperations)

This ensures WorkerListInfo follows the same "ListInfo/ListEntry" suffix
convention for types returned in List API responses.

Made-with: Cursor
@rkannan82 rkannan82 changed the title Add WorkerSummary and RuntimeStats protos for efficient worker listing Add WorkerListInfo proto for efficient worker listing Feb 27, 2026
@rkannan82 rkannan82 requested a review from bergundy February 27, 2026 17:43
Copy link
Copy Markdown
Contributor

@yuandrew yuandrew left a comment

Choose a reason for hiding this comment

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

Changes LGTM, will we have a server side PR to pick these up? I'm good to approve once we're close to being ready to merge this in

@rkannan82 rkannan82 marked this pull request as ready for review March 9, 2026 17:28
@rkannan82 rkannan82 requested a review from yuandrew March 9, 2026 17:30
@rkannan82 rkannan82 force-pushed the kannan/worker-summary-proto branch from 6d33e77 to 3288bcf Compare March 9, 2026 18:25
Made-with: Cursor
@rkannan82 rkannan82 force-pushed the kannan/worker-summary-proto branch from 3288bcf to 39cd2be Compare March 9, 2026 18:36
@rkannan82 rkannan82 merged commit 57364bd into master Mar 10, 2026
4 checks passed
@rkannan82 rkannan82 deleted the kannan/worker-summary-proto branch March 10, 2026 21:23
02strich added a commit that referenced this pull request Mar 18, 2026
* origin/master:
  Add poller autoscaling namespace capability (#723)
  Add request header annotation and resource-id fields (#728)
  Trampolining: addition of fields to remove the infinite loops for pinned wfs  (#721)
  Add WorkerListInfo proto for efficient worker listing (#724)
  Add storage driver info to worker heartbeats (#722)
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.

3 participants