Skip to content
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

[FEA]: Implement MonitorStage in C++ #804

Closed
2 tasks done
mdemoret-nv opened this issue Mar 27, 2023 · 0 comments · Fixed by #1908
Closed
2 tasks done

[FEA]: Implement MonitorStage in C++ #804

mdemoret-nv opened this issue Mar 27, 2023 · 0 comments · Fixed by #1908
Assignees
Labels
feature request New feature or request

Comments

@mdemoret-nv
Copy link
Contributor

Is this a new feature, an improvement, or a change to existing functionality?

New Feature

How would you describe the priority of this feature request

Critical (currently preventing usage)

Please provide a clear description of problem this feature solves

This is a follow on to #86 to break up the requests into smaller issues.

The MonitorStage is currently implemented in Python which is slow and can impact performance and is very limited in its capabilities since its only a wrapper around tqdm.

Describe your ideal solution

Reimplement the MonitorStage in C++. A C++ implementation would make monitoring more accurate, have better multi-threaded support, and would allow for additional reporting for things like Prometheus.

Describe any alternatives you have considered

No response

Additional context

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct
  • I have searched the open feature requests and have found no duplicates for this feature request
@mdemoret-nv mdemoret-nv added the feature request New feature or request label Mar 27, 2023
@github-actions github-actions bot added the Needs Triage Need team to review and classify label Mar 27, 2023
@jarmak-nv jarmak-nv removed the Needs Triage Need team to review and classify label Jun 12, 2023
@mdemoret-nv mdemoret-nv added this to the 24.10 - Release milestone Aug 18, 2024
@morpheus-bot-test morpheus-bot-test bot moved this from Todo to Review - Ready for Review in Morpheus Boards Oct 1, 2024
rapids-bot bot pushed a commit that referenced this issue Nov 22, 2024
Implemented C++ `MonitorStage` based on [indicators](https://github.com/p-ranav/indicators) library (supports progress bar display)
- Each `MonitorStage` displays a progress bar with customized description tag, message unit and (optional) message count method. Customized font is supported.
- Supports `ControlMessage` and `MessageMeta` as input type
- Able to run multiple `MonitorStage`s within the same pipeline

A quick demo:
![Screencast from 10-08-2024 10-23-41 AM (1)](https://github.com/user-attachments/assets/9b9cbf26-e85c-49b1-8b9d-4af8c3e5e73b)


- **Note**: `indicators` library does not have official support for displaying the progress bars with other log output. This PR uses this [workaround](p-ranav/indicators#107) to enable displaying progress bars alongside other log outputs.

Need to merge nv-morpheus/utilities#78

Closes [#804](#804)


## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/nv-morpheus/Morpheus/blob/main/docs/source/developer_guide/contributing.md).
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.

Authors:
  - Yuchen Zhang (https://github.com/yczhang-nv)

Approvers:
  - Michael Demoret (https://github.com/mdemoret-nv)
  - Christopher Harris (https://github.com/cwharris)

URL: #1908
@github-project-automation github-project-automation bot moved this from Review - Ready for Review to Done in Morpheus Boards Nov 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request New feature or request
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

3 participants