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

Implement feature to override frame state display text/color in UI #1246

Open
wants to merge 18 commits into
base: master
Choose a base branch
from

Conversation

RosaBehrensCamp
Copy link
Contributor

Give users ability to customize frame status display in UI in case they want to show a different text/color for whatever reason
e.g. a frame fails due to a timeout condition vs other errors.

@bcipriano
Copy link
Collaborator

Thanks for sending this! Very cool feature.

I'm a bit confused how this is meant to work. So the display overrides are set on a per-frame basis. I see there's code for getting/setting overrides for a frame, but what is meant to actually create these overrides? Do you have some custom code that isn't included here?

@RosaBehrensCamp
Copy link
Contributor Author

This feature came from an internal request where the team wanted to end renders based on specific conditions on a given frame and have a visual way of seeing which frames "timed out" vs. finished normally. So the thought is whatever app is running in the frame or some external app monitoring frames could use this feature to override the displayed state setting when a specific event happens (a particular exception/failure, run time exceeds a set time, etc).

@bcipriano
Copy link
Collaborator

Ok, got it.

So the creation of a display override is not contained within OpenCue itself, but instead triggered by some external tool -- either something on the RQD host or some other tool entirely.

I'm wondering if there's a way we could build this functionality fully into OpenCue, so that an external tool isn't needed. Is there enough information stored in the database to make the decision that a display override is warranted? If it's runtime > threshold I can see that working; for exception detection I can see it getting a little trickier.

We recently introduced cuegui.yaml to make a bunch of CueGUI settings easily configurable. Is there anything in this change that would be better worked into that file as configuration? Potentially color information?

Going further, is this a change that could be implemented entirely via cuegui.yaml? I'm imagining users defining "rules" which indicate: "if this condition is true for a given frame, set the color/text to this". Of course that would require the conditions to be detectable by CueGUI somehow, ideally via the results returned by an API call, as it would have to be cheap to avoid bogging down the GUI when many frames are loaded.

Let me know what you think.

@DiegoTavares
Copy link
Collaborator

DiegoTavares commented Mar 1, 2023

@bcipriano we can discuss this on our TSC meeting.

IMO this feature works well as it is and is ready to be merged. I also agree it can be expanded to become something configurable for other use cases.

To make the feature easier to understand we could add a change in the documentation to explain its context. Maybe a new topic on https://www.opencue.io/docs/user-guides/

@DiegoTavares
Copy link
Collaborator

Ready to be merged IMO.
@bcipriano any objections?

Copy link
Collaborator

@bcipriano bcipriano left a comment

Choose a reason for hiding this comment

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

Change looks good. I think we ended up with an extra database migration in this PR? The V30 migration doesn't look related.

@DiegoTavares
Copy link
Collaborator

@bcipriano can you review the changes you had requested?

@bcipriano
Copy link
Collaborator

Looks like we've still got a stray V30 migration in this PR.

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.

None yet

3 participants