-
Notifications
You must be signed in to change notification settings - Fork 736
Description
Is there an existing issue for this?
- I have searched the existing issues
Is your feature request related to a problem? Please describe the problem.
With the WaitFor implementation in main, it's hard to see what a resource is actually waiting on. Logs are logged when a resource starts waiting on a resource, but nothing gets logged once that wait is complete.
In the following example, it looks like we're waiting for both sql and migrator, however we're actually only waiting on migrator as sql has started up.

Similarly with a longer chain of dependencies, You may see that you're waiting on B, but B is in turn waitign on C (which could in turn be waiting on D).
Describe the solution you'd like
A quick solution is to include a log entry when a wait is complete
2024-09-05T19:16:18 Waiting for resource 'sql' to enter the 'Running' state.
2024-09-05T19:16:19 Waiting for resource 'migrator' to complete.
2024-09-05T19:16:20 Finished waiting for resource 'sql' to enter the 'Running' state.
That would at least allow you to work out what is outstanding.
A slightly better solution would be if there was an easy way to see what was outstanding from a single place, without having to calculate across multiple log entries. Without adding additional UI, there's limited options with the append only logs - you could add a log along the lines of Waiting on 2/3 dependencies - 'migrator' and 'foo' remain log each time a dependency is removed. Even better is if this could include transitive dependencies, but that likely gets messy quickly.
The ideal would be some kind of UI on the resource that could present the dependencies as some kind of tree which you could follow to see how far the dependencies have gotten.
Additional context
No response