Build Queues
This ties in with https://github.com/defang-io/defang/issues/169 to some extent. With most systems I've come across with build queues, you can see historical data about how builds went, but you also get information about queued builds:
- if they're in the same project/org you might see other queued builds
- if they're not, you might see a number of builds ahead of yours
- systems like GitLab sometimes give you information about build runners
Essentially, given that the build queue and build runner status determine how fast my build becomes available, I want to be able to have a sense of what's going on there.
The DX could be as simple as:
defang cd status
and then getting:
4 builds currently in queue
Or it could be more like my proposal in the other issue and provide something like:
| etag | service | status | started | completed | build time |
|---|---|---|---|---|---|
| 6238gf782 | ui | queued | - | - | - |
| 328hf0j0 | api | queued | - | - | - |
| fjd8s038 | ui | in progress | 2024-03-06T20:50:40Z | - | 2m32s |
| 792h39jfds | ui | failed | 2024-03-06T19:50:40Z | 2024-03-06T19:54:40Z | 4m0s |
| 792h39jfds | api | complete | 2024-03-06T19:50:40Z | 2024-03-06T19:52:45Z | 2m5s |
Just had a moment where I thought logs or something else might be broken because there was no visibility into the build queue as an end user.
I think this is actually a pretty high priority for DX in playground, especially for the current set of users we're building for. Something to say "don't worry, the logs are empty because there's a couple things happening before your build, it's not an issue with your code/config." Right now it's easy to wonder if, as a user, you did something wrong, or if something is broken on Defang's end.
I think the CD service scaling will help, but I don't think it fully solves it. I also don't know how common an issue it will be, but when it happens, it's something I would classify as "worrying" from the user's perspective.