
statistics.pl -- Get information about resource usage
This library provides predicates to obtain information about resource usage by your program. The predicates of this library are for human use at the toplevel: information is printed. All predicates obtain their information using public low-level primitives. These primitives can be use to obtain selective statistics during execution.
statistics is det- Print information about resource usage using print_message/2.
statistics(-Stats:dict) is det- Stats is a dict representing the same information as statistics/0. This convience function is primarily intended to pass statistical information to e.g., a web client. Time critical code that wishes to collect statistics typically only need a small subset and should use statistics/2 to obtain exactly the data they need.
thread_statistics(?Thread, -Stats:dict) is nondet- Obtain statistical information about a single thread. Fails silently of the Thread is no longer alive.
time(:Goal) is nondet- Execute Goal, reporting statistics to the user. If Goal succeeds
non-deterministically, retrying reports the statistics for
providing the next answer.
Statistics are retrieved using thread_statistics/3 on the calling thread. Note that not all systems support thread-specific CPU time. Notable, this is lacking on MacOS X.
profile(:Goal)
profile(:Goal, +Options)- Run Goal under the execution profiler. Defined options are:
- time(Which)
- Profile
cpuorwalltime. The default is CPU time. - top(N)
- When generating a textual report, show the top N predicates.
- cumulative(Bool)
- If
true(defaultfalse), show cumulative output in a textual report.
show_profile(+Options)- Display last collected profiling data. Options are
- top(N)
- When generating a textual report, show the top N predicates.
- cumulative(Bool)
- If
true(defaultfalse), show cumulative output in a textual report.
profile(:Goal)
profile(:Goal, +Options)- Run Goal under the execution profiler. Defined options are:
- time(Which)
- Profile
cpuorwalltime. The default is CPU time. - top(N)
- When generating a textual report, show the top N predicates.
- cumulative(Bool)
- If
true(defaultfalse), show cumulative output in a textual report.