-
Notifications
You must be signed in to change notification settings - Fork 661
[heft] feat: add lifecycle events for Heft tasks + phases #5250
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[heft] feat: add lifecycle events for Heft tasks + phases #5250
Conversation
Signed-off-by: Aramis Sennyey <[email protected]>
Signed-off-by: Aramis Sennyey <[email protected]>
Signed-off-by: Aramis Sennyey <[email protected]>
Signed-off-by: Aramis Sennyey <[email protected]>
Signed-off-by: Aramis Sennyey <[email protected]>
Signed-off-by: Aramis Sennyey <[email protected]>
Signed-off-by: Aramis Sennyey <[email protected]>
Signed-off-by: Aramis Sennyey <[email protected]>
Signed-off-by: Aramis Sennyey <[email protected]>
Signed-off-by: Aramis Sennyey <[email protected]>
Signed-off-by: Aramis Sennyey <[email protected]>
Signed-off-by: Aramis Sennyey <[email protected]>
Signed-off-by: Aramis Sennyey <[email protected]>
Signed-off-by: Aramis Sennyey <[email protected]>
Signed-off-by: Aramis Sennyey <[email protected]>
dmichon-msft
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is definitely getting really close. It feels a lot cleaner now than the initial approach and gets us closer to being able to converge the runner stacks between Rush and Heft.
common/changes/@rushstack/operation-graph/sennyeya-heft-lifecycle_2025-06-11-16-53.json
Outdated
Show resolved
Hide resolved
Signed-off-by: Aramis Sennyey <[email protected]>
Signed-off-by: Aramis Sennyey <[email protected]>
|
@dmichon-msft Should be ready for another round - basically updated the events to treat the phase operation more like a silent architectural node. It is no longer part of the input types to |
dmichon-msft
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Little bit of cleanup left from old casts and type checks
Co-authored-by: David Michon <[email protected]>
Signed-off-by: Aramis Sennyey <[email protected]>
Signed-off-by: Aramis Sennyey <[email protected]>
dmichon-msft
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a minor nit left, otherwise looks good.
Co-authored-by: David Michon <[email protected]>
|
@dmichon-msft Updated 🙂 |
|
@dmichon-msft Anything else that I need to do for this PR? |
|
@aramissennyeydd , looking at this again since I'm doing some work on @rushstack/operation-graph; was it a deliberate choice to make these hooks Async or was that purely due to copying the existing hooks? |
|
@dmichon-msft I believe it was to copy the existing hooks, the plugin I wrote that uses this does all async work during |
Summary
Alternative to #5232 that exposes Operation lifecycle events directly instead of through a metrics interface.
Details
We're trying to measure the duration of specific Heft tasks similar to the duration of specific Rush phases. Specifically, I'm trying to understand the impact of migrating from Webpack to Rspack beyond manual benchmarking. This also opens up visibility into sync/blocking tasks and how to improve Heft parallelism.
How it was tested
Added new project that verified that output had the correct information,
Impacted documentation