This module defines an HTTP handler for /health. The 
handler returns a JSON document with elementary health statistics on the 
running instance. The location can be changed using http_handler/3. 
Keys may be added using additional clauses for health/2 
or hidden using hide/1.
This library defines an HTTP handler and defines two multifile 
predicates (health/2 and hide/1) 
to control the information presented.
- server_health(+Request)
- HTTP handler that replies with the overall health of the server. Returns 
a JSON object from all solutions of health/2.
Processes an optional parameter fieldsto specify the 
fields that should be returned. The fields content is "," or white space 
delimited.
 
- [nondet,multifile]health(-Key, 
-Value)
- Multifile extensible. True when Key/Value can be 
reported as a health statistics. Keys may be added by adding clauses to 
this multifile predicate. Keys may be filtered using hide/1. 
Predefined
Key values are:
- up
- Defined to be true.
- epoch
- Starting time of the server in seconds after Jan 1, 1970 UTC.
- cpu_time
- Total process CPU usage in seconds.
- threads
- Number of active threads
- workers
- Number of HTTP worker threads.
- requests
- Number of HTTP requests processed.
- bytes_sent
- Number of bytes send in reply to HTTP requests.
- open_files
- Number of open file streams. This includes physical files as well as 
sockets (except for Windows). On Linux we count the file handles in /proc/self/fd. 
Otherwise we use
stream_property/2 with thefile_no(Fd)property.
- loadavg
- An array holding the load average over the last [1,5,15] minutes. This 
key is only supported on Linux machines. It is based on /proc/loadavg
- heap
- When compiled with TCMalloc, this provides two properties:
- inuse- :Bytes
- Total amount of in-use memory in bytes
- size- :Bytes
- Same as inuse, but including the TCMalloc overhead and 
(thus) memory that has been freed and is not (yet) reused.
 
 
| Key | is the name of the JSON key. Must be an 
atom |  | Value | is the Prolog representation for a 
JSON (dict) value. |  
 
- [nondet,multifile]hide(?Key)
- Multifile hook. If true for a specific Key, hide this 
statistics from the output. This may be used to hide keys that are 
considered a security risk.