Skip to content

Conversation

@michael-johnston
Copy link
Member

@michael-johnston michael-johnston commented Nov 25, 2025

  • Actuators and operators can now display spinners and progress bars using the new RichConsoleQueue and supported message types
  • vllm_performance actuator and RandomWalk operator have been update to leverage this functionality

The PR also

  • refactors all rich.Console related code for operations (progress and results table) in a new module console_output.py
  • fixes issue with port-forward failure not being identified in vllm_performance
progress_example.mp4

Was printing first entity from samplestore because once this was relevant to the space - however this is no longer true and it could be anything.
…tors

This allows actuators/explore operators that have steps that take significant time to execute to clearly notify users on their state, rather than relying on e.g. INFO logs which may be buried in other log output.

Spinners and ProgressBars are supported in this initial implementation.

Also unify all rich.Console related functionality for explore operations in a module (console_output.py)
random walk now outputs a progress bar as it processes entities - the bar also includes (number completed entities/total) and the elapsed time.
Actuator now outputs progress indicators using new RichConsoleQueue when waiting for an environment to be free; creating vllm deployment; waiting for it to be ready.

Also pass requestid to create_environment so it can be referenced in the progress indicators
The code did not check if the port-forward process had exited, only if Popen raised an Exception. There are situations where the port-forward command could immediately fail that would not raise an exception. As it was the code would continue on as if the port-forward was up
@DRL-NextGen
Copy link
Member

DRL-NextGen commented Nov 25, 2025

Checks Summary

Last run: 2025-11-26T16:31:38.177Z

Code Risk Analyzer vulnerability scan found 2 vulnerabilities:

Severity Identifier Package Details Fix
🔷Medium CVE-2025-50181 urllib3
urllib3 redirects are not disabled when retries are disabled on PoolManager instantiationGHSA-pq67-6m6q-mj2v

urllib3:2.3.0->kubernetes:34.1.0
2.5.0
🔷Medium CVE-2025-50182 urllib3
urllib3 does not control redirects in browsers and Node.jsGHSA-48p4-8xcf-vxj5

urllib3:2.3.0->kubernetes:34.1.0
2.5.0

@michael-johnston
Copy link
Member Author

@christian-pinto can you check the changes to vllm_performance and the progress elements?

Copy link
Member

@christian-pinto christian-pinto left a comment

Choose a reason for hiding this comment

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

Let me run it now

@christian-pinto
Copy link
Member

Let me run it now

Looks good. THe only thing that is odd is that when a request starts running it disappears from the list. Is this intentional?

Co-authored-by: Christian Pinto <christian.pinto@ibm.com>
Signed-off-by: Michael Johnston <66301584+michael-johnston@users.noreply.github.com>
@michael-johnston
Copy link
Member Author

michael-johnston commented Nov 25, 2025

Looks good. THe only thing that is odd is that when a request starts running it disappears from the list. Is this intentional?

Yes because I thought the vllm bench serve output is there so wasn't necessary - can easily add an indicator like

(request id) running vllm bench serve ...

for when the test is running?

Edit: I added it

michael-johnston and others added 3 commits November 25, 2025 17:58
So an progress entry for a request is always present while running test-deployment-v1
Signed-off-by: Michael Johnston <66301584+michael-johnston@users.noreply.github.com>
@christian-pinto
Copy link
Member

This is what I see now

experiment.mp4

Three experiments submitted (BS==3) but only one is shown

Copy link
Member

@christian-pinto christian-pinto left a comment

Choose a reason for hiding this comment

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

I see the problem now. All the prints are using the definition as id. When entities require the same deployment they will all have use the same identifier for the prints.

@AlessandroPomponio AlessandroPomponio changed the title feat: enable actuators and operators to use Rich progress indicators feat(core): enable actuators and operators to use Rich progress indicators Nov 26, 2025
michael-johnston and others added 6 commits November 26, 2025 13:59
Filtering on ConstitutiveProperty type when that type is not the type of the field since intro of ConstitutivePropertyDescriptor.

Use consitutive_property_values to avoid having to filter.
Co-authored-by: Alessandro Pomponio <10339005+AlessandroPomponio@users.noreply.github.com>
Signed-off-by: Michael Johnston <66301584+michael-johnston@users.noreply.github.com>
Co-authored-by: Alessandro Pomponio <10339005+AlessandroPomponio@users.noreply.github.com>
Signed-off-by: Michael Johnston <66301584+michael-johnston@users.noreply.github.com>
michael-johnston and others added 2 commits November 26, 2025 16:15
…nce/experiment_executor.py

Co-authored-by: Christian Pinto <christian.pinto@ibm.com>
Signed-off-by: Michael Johnston <66301584+michael-johnston@users.noreply.github.com>
Copy link
Member

@AlessandroPomponio AlessandroPomponio left a comment

Choose a reason for hiding this comment

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

LGTM thanks

Copy link
Member

@christian-pinto christian-pinto left a comment

Choose a reason for hiding this comment

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

LGTM Thanks

@michael-johnston michael-johnston added this pull request to the merge queue Nov 26, 2025
Merged via the queue into main with commit d930308 Nov 26, 2025
18 checks passed
@michael-johnston michael-johnston deleted the maj_actors_console branch November 26, 2025 16:53
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.

feat: enable operators/actuators to write rich console live elements e.g. spinners

5 participants