Description
I really cringe when I read details
in the response, I feel it should be named services
or components
. In the RFC itself there is description of details
:
details: (optional) an object representing status of sub-components of the service in question
Emphasis mine
Overall I would think that details
encapsulates human readable reason
with computer readable reason (code
) why such and such is not in pristine condition (as well as links
to documentation for specific code I tried to compose minimal example thus its not included):
{
"status": "fail",
"services": {
"cassandra": [
{
"type": "datastore",
"status": "fail",
"details": {
"reason": "Connection error.",
"code": 10061
}
}
],
},
"details": {
"reason": "A critical service is not working.",
"code": 123
}
}
And of course each sub-component / service (not a detail) shall have its own details
.
Also RFC is really pushing metrics everywhere, I think that health-check is simple boolean kind of endpoint that answers the only question:
Can I use the API right now?
- If not where can I find more details.
I quickly googled around and found an example