It looks like there's a problem with our deploy process where old versions of our service are being deployed to certain clusters, but it's hard to tell exactly what's wrong, since all we have as data points are occasionally failing tests which suggest bugs that were fixed in previous builds.

In order to keep an eye on this, I figured I'd add an undocumented endpoint to the latest build, deploy it to test, and then hammer the load balancer for a while to see if any responses lack this new endpoint.

All of this is besides the point, because what I'm currently looking for is the term for this thing. Related terms are:

  • Flag: Too generic.
  • Canary: This is sort of the opposite, where the canary dies if things are going wrong. I want to know that things are right.
  • Shibboleth: Gets at the idea that I want a specific response in order to treat a circumstance as 'correct', but it seems out of place when applied to a web API endpoint.
  • Dead man's switch: Wrong context.

Other ideas?

  • Sounds to me like an aliveFlag. Maybe you want to relate it somehow to a watchdog? If you're referring the name to what is to be done with this interface, name it something like pulseCheck or heartbeatCheck – tofro Aug 22 '16 at 9:28

Health Check

I would recommend you add these extra 'what version are you?' 'Are you working?' 'Which instance are you?' style interfaces to all apis.

Another good techinique is to add a version header to the client so you can see what versions are connecting

| improve this answer | |
  • The ridiculous thing is that we HAVE a healthcheck endpoint, but our LB/router won't route traffic there. So I can hit it via a proxy but that defeats the purpose of seeing where the load balancer is sending traffic. I guess I could add a separate easter eggy healthcheck point in a permitted path. – a p Aug 22 '16 at 7:43
  • 3
    heh, change the load balancer! – Ewan Aug 22 '16 at 8:04
  • if I had access to the load balancer I'd just check its config and see which instances/ips are reporting to it and I wouldn't have to do some janky investigative work in the first place. Oh well. – a p Aug 22 '16 at 8:26
  • 1
    this is why devs should all have admin access to all live environments and network devices!! – Ewan Aug 22 '16 at 8:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.