apple / apple/foundationdb

Expose "status json" fields individually

Open
#1,542 1 comment 1 reaction 1 assignee Claimed by @tclinken View on GitHub
Dominant language
C++
Stars
16.7k
Forks
1.6k
Avg merge
1d 20h
Merged PRs (30d)
126

Description

Instead of generating a large JSON object every time a client wants to see details on the status of a cluster, clients should be able to request individual fields. This solution:

- Is easier to use, since the client doesn't have to do as much work parsing the response
- Can require the cluster controller to do only the necessary work, instead of generating many fields with each status request that may be ignored by the client
- Allows "status fields" to be provided by a process other than the cluster controller, without the client seeing any difference in behavior. For example the health metrics calculated with #1114 can be retrieved from the proxies instead.

This could be implemented by using a different special key for each status field (e.g. `\xff/\xff/status/cluster/processes/fbb02e841b223fb0f8edf4deb2913d45/uptime_seconds`). The exact format of the special keys would have to be agreed upon beforehand, but the particular format is not important.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.