| Native keys (times as float in seconds) | 
| agc | Number of atom garbage collections 
performed | 
| agc_gained | Number of atoms removed | 
| agc_time | Time spent in atom garbage collections | 
| atoms | Total number of defined atoms | 
| c_stack | System (C-) stack limit. 0 if not known. | 
| cgc | Number of clause garbage collections performed | 
| cgc_gained | Number of clauses reclaimed | 
| cgc_time | Time spent in clause garbage collections | 
| clauses | Total number of clauses in the program | 
| codes | Total size of (virtual) executable code in words | 
| cputime | (User) CPU 
time since thread was started in seconds | 
| epoch | Time stamp when thread was started | 
| functors | Total number of defined name/arity pairs | 
| global | Allocated size of the global stack in bytes | 
| globalused | Number of bytes in use on the global stack | 
| globallimit | Size to which the global stack is allowed to 
grow | 
| global_shifts | Number of global stack expansions | 
| heapused | Bytes of heap in use by Prolog (0 if not 
maintained) | 
| inferences | Total number of passes via the call and redo 
ports since Prolog was started | 
| modules | Total number of defined modules | 
| local | Allocated size of the local stack in bytes | 
| local_shifts | Number of local stack expansions | 
| locallimit | Size to which the local stack is allowed to 
grow | 
| localused | Number of bytes in use on the local stack | 
| table_space_used | Amount of bytes in use by the thread's 
answer tables | 
| trail | Allocated size of the trail stack in bytes | 
| trail_shifts | Number of trail stack expansions | 
| traillimit | Size to which the trail stack is allowed to 
grow | 
| trailused | Number of bytes in use on the trail stack | 
| shift_time | Time spent in stack-shifts | 
| stack | Total memory in use for stacks in all threads | 
| predicates | Total number of predicates. This includes 
predicates that are undefined or not yet resolved. | 
| indexes_created | Number of clause index tables creates. | 
| indexes_destroyed | Number of clause index tables 
destroyed. | 
| process_epoch | Time stamp when Prolog was started | 
| process_cputime | (User) CPU 
time since Prolog was started in seconds | 
| thread_cputime | MT-version: Seconds CPU time used by 
finished threads. Basically non-portable. Works on Linux, MacOSX, 
Windows and probably some more. | 
| threads | MT-version: number of active threads | 
| threads_created | MT-version: number of created threads | 
| engines | MT-version: number of existing engines | 
| engines_created | MT-version: number of created engines | 
| Compatibility keys (times in 
milliseconds) | 
| runtime | [ CPU time, CPU time since last ] 
(milliseconds, excluding time spent in garbage collection) | 
| system_time | [ System CPU time, System CPU time since 
last ] (milliseconds) | 
| real_time | [ Wall time, Wall time since last ] (integer 
seconds. See get_time/1) | 
| walltime | [ Wall time since start, Wall time since last] 
(milliseconds, SICStus compatibility) | 
| memory | [ Total unshared data, free memory ] (Used is 
based on ru_idrssfrom getrusage(). Free is based onRLIMIT_DATAfrom getrlimit(). Both are reported as zero if the OS lacks support.) | 
| stacks | [ global use, local use ] | 
| program | [ heap, 0 ] | 
| global_stack | [ global use, global free ] | 
| local_stack | [ local use, local free ] | 
| trail | [ trail use, trail free ] | 
| garbage_collection | [ number of GC, bytes gained, time 
spent, bytes left ] The last column is a SWI-Prolog extension. It 
contains the sum of the memory left after each collection, which can be 
divided by the count to find the average working set size after GC. Use [Count, 
Gained, Time|_]for compatiblity. | 
| stack_shifts | [ global shifts, local shifts, time spent ] | 
| atoms | [ number, memory use, 0 ] | 
| atom_garbage_collection | [ number of AGC, bytes gained, 
time spent ] | 
| clause_garbage_collection | [ number of CGC, clauses 
gained, time spent ] | 
| core | Same as memory |