Open
Description
I was greatly surprised to see that /actuator/health is implemented ;-)
$ curl http://127.0.0.1:8080/actuator/health
{"status":"UP",
"components":{
"diskSpace":{"status":"UP","details" {"total":73867264000,"free":4643659776,"threshold":10485760}},
"ping":{"status":"UP"},
"web3j":{"status":"UP","details":{"clientVersion":"Autonity/v0.3.0-de53f1f3/linux-amd64/go1.11.13","netVersion":"1","blockNumber":79902,"protocolVersion":"0x3f","netPeerCount":4}}
}}
Would it make sense to implement also the info endpoint? (in fact I would probably move most of the output to the info endpoint instead of the health endpoint, but it is just an opinion)
Just in case anyone bumps into this issue, my workaround implementing the info actuator so far is:
@Component
public class Web3jInfoContributor implements InfoContributor {
@Autowired
HealthContributorRegistry registry;
@Override
public void contribute(Builder builder) {
Map<String, Object> web3jhealthinfo = registry.stream().
// Work only on the web3j HealthContributor
filter(x -> (x.getName().equals("web3j") && x.getContributor() instanceof HealthIndicator)).
// Get the HealthIndicator from the HealthContributor
map(x -> ((HealthIndicator) x.getContributor()).
// Get Health->Details->Map<String,Object>
health().getDetails())
.findFirst().orElse(null);
builder.withDetail("web3j", web3jhealthinfo);
}
}
Metadata
Metadata
Assignees
Labels
No labels