Photo by Dylan (newchaos) on Flickr.
Published on 06 March 2020

It's 10PM; Do You Know Where YOUR Progress Meter Is?

Commit(s) of the Month(s): Docker Push & Pull Progress

Published on 06 March 2020

This post discusses two exciting commits (one of which is technically from January 🤐) which are two sides of the same coin: e77be9fe and 467f1913 print docker push and docker pull progress (respectively) to the Web UI, so you’re not in the dark about where your deployment time is going.

Tilt tries to make microservice development as fast as possible, but sometimes there’s just stuff you’ve gotta wait around for. However, when you inevitably have to wait around for something, you should know exactly what you’re waiting for and how it’s progressing (and that your process isn’t just permanently hung somewhere).

These commits print docker push / pull progress output, updating lines in the Web UI in place as status meters creep forward. Users now have real-time visibility into what Docker is doing, instead of staring at a blank screen and hoping things are still working.

See docker push status in real time

To write these features, the Tilt team dug deep into the Docker CLI, and we were really impressed with what we found there. We’ve all felt the frustration of a command-line tool that sits their churning with no output. What is it doing? Will it ever finish?

A good command-line tool at least gives you a simple progressbar or loading animation.

The Docker CLI goes way beyond that. It updates your terminal in-place with how big your layers are, whether they were cached, how much time each one is taking. It’s responsive to your terminal width, summarizing the information differently depending on how much screen real estate it has to work with.

We wanted our web UI to do that progress display justice, so there was really only one way forward: updating Web UI log lines in place to show progress with as much liveness as possible. As a bonus, we can use this new functionality (the ability to update log lines) to show all sorts of information, all in service of improved visibility into what Tilt is doing at any given time. We’ve already used it to, e.g., monitor pod rollout for resources:

Pod rollout status updating in real time

We hope you enjoy the newer, more transparent Tilt—thanks @nicks and @hyu! Comments, questions, feature requests? Let us know!

Related

Keep up with Developments in Microservice Development
 
 
 
Keep up with Developments in Microservice Development

Already have a Dockerfile and a Kubernetes config?

You’ll be able to setup Tilt in no time and start getting things done. Check out the docs! 

Having trouble developing your servers in Kubernetes?