Understanding Service Statuses

To fully understand what status icons mean, you’ll need to be familiar with the way the registry tests services. The registry maintains a set of tests for each service it monitors, and runs these periodically, assembling the results to give an overall status indication. Each test can return ‘Passed’, ‘Failed’, or ‘Warning’. If all of a service’s tests passed in the most recent run, then a service is given the ‘Ok’ status; if they all fail, it is given the ‘Error’ status; if the most recent run gives a mixture of passes and fails, or any one test returns a ‘Warning’, then the the service itself is marked as being in a ‘Warning’ state. You can examine the most recent test runs (and all the historical ones too, if you really want) from a service’s entry page, and this should give you a clearer view of how a service is currently behaving.

Test results (which a distinct from Service Statuses) can be one of the following:

Passed : the registry was able to execute this test, and the results were exactly as the authors expected



Failed : either the registry couldn’t execute this test for some reason, or the test couldn’t communicate with the service.



Warning : the test could be executed, and it returned some results, but there was something untoward about these.


The tests associated with a particular service are provided by the service’s authors, and what exactly gets tested is entirely at their discretion. The nature of these tests depends very much on the what a service actually does, so to fully interpret the results, you’d need to understand the service and look at what a test does in detail. For example, if a service provides programmatic access to an online database, and that database guarantees that a record is never modified once its published, then the test may request a particular record, and check various fields to see whether they are as expected, since any variation from this would mean that something bad has happened to the source database. For other services which have a stochastic element to them, tests may have to be more forgiving in terms of what they examine since results might reasonably fluctuate from invocation to invocation. Generally speaking though, you can simply rely on the fact that authors will typically submit sensible tests to do sensible things … so for the main you can take these results at face value.

With all of this in mind, here’s a more detailed description of what a service’s status means:

Unknown : This registry knows about the existence of this service, but hasn’t been able to test it. Either it’s very recently been submitted, and the tests are yet to be run, or the authors haven’t provided any tests at all.

Ok : The last time a batch of tests were executed for this service, they all passed. It’s possible that something bad has happened since these tests were run. It’s also possible that the tests that the authors provided weren’t rigorous enough to detect a problem that you are now encountering with your code. But on the whole, you can be fairly confident that things are working well. If you are having problems with this service,
download one of the client test scripts from the service’s page and try this out.

Warning : The last the service was tested, something wasn’t right. It could be that one or more tests failed (in which case you may want to see whether that test is something you care about – it could be completely unrelated to the function you need); it could be that one or more tests returned unexpected results. In any case you should proceed with some caution if your program uses this service, since something that the authors thought was important to the integrity of the service is no longer working properly.

Error : When this service was last tested, none of the tests worked. Typically this will mean that the service is unavailable, possibly due to maintainance, or in some cases because something more catastrophic has happened such as a hardware failure at the server end. Even if your client code can somehow connect to this service, you really shouldn’t trust anything it does.

Of course, since the registry only communicates with services periodically, the actual status of the service may have changed since the last test.