11.3.165 profile_data/1   development


profile_data(-Data)   since release 4.2

Data is the profiling data accumulated so far.



list of profile_pair


profile_pair::= caller-profile_info
profile_info::= counter(list of callee_pair,insns,chpts,tagged_calls)
insns::= integer {virtual instructions executed}
chpts::= integer {choicepoints accessed}
callee_pair::= callee-tagged_calls
tagged_calls::= det(calls) {all calls were determinate}
| nondet(calls) {not all calls were determinate}
calls::= integer {number of calls}
caller::= pred_spec
callee::= pred_spec


The profiling data accumulated so far is collected into a term of type list of profile_pair and unified with Data.

Please note: The number of instructions and choicepoints are not counted for interpreted code, so insns and chpts will be 0 for such predicates.

Please note: In a list of callee_pair, callee is not necessarily unique. This happens if the given caller code contains more than one call to callee.

Please note: The calls of a profile_info can be greater than the total calls of its list of callee_pair. This happens e.g. if caller occurred in a metacall context.



See Also

Execution Profiling.

Send feedback on this subject.