Module Debug.Profile.PrologData

Library to access profile data of the Prolog system. Implementation might be deprecated for new SICStus-Prolog systems.

IMPORT NOTE: If this module is used, one must set the PAKCS option "plprofile" (with ":set +plprofile") in order to make the profile data available from the Prolog system!

Author: Michael Hanus

Version: January 2019

Summary of exported operations:

profileReset :: IO ()   
Resets all profile counters.
profilePredicates :: ProfileSelection -> IO [(String,Int)]   
Gets profile data of all predicates.
prim_profilePredicates :: ProfileSelection -> IO [(String,Int)]   
profileClauses :: ProfileSelection -> String -> IO [(Int,Int)]   
Gets profile data of all clauses of a particular predicate.
prim_profileClauses :: ProfileSelection -> String -> IO [(Int,Int)]   
printProfileData :: IO ()   
Print the Prolog profile data.
profileView :: IO ()   
Starts graphical viewer for profile data via the Gauge profiling tool of Sicstus Prolog.
getHnfDefinitions :: IO [(Int,String)]   
(only for internal use).

Exported datatypes:


ProfileSelection

Constructors:

  • Calls :: ProfileSelection
  • Backtracks :: ProfileSelection
  • ChoicePoints :: ProfileSelection
  • ExecTime :: ProfileSelection

Exported operations:

profileReset :: IO ()   

Resets all profile counters.

Further infos:
  • externally defined

profilePredicates :: ProfileSelection -> IO [(String,Int)]   

Gets profile data of all predicates.

prim_profilePredicates :: ProfileSelection -> IO [(String,Int)]   

Further infos:
  • externally defined

profileClauses :: ProfileSelection -> String -> IO [(Int,Int)]   

Gets profile data of all clauses of a particular predicate. The result is a list of pairs (predicate number, profile count)

prim_profileClauses :: ProfileSelection -> String -> IO [(Int,Int)]   

Further infos:
  • externally defined

printProfileData :: IO ()   

Print the Prolog profile data.

Further infos:
  • externally defined

profileView :: IO ()   

Starts graphical viewer for profile data via the Gauge profiling tool of Sicstus Prolog.

Further infos:
  • externally defined

getHnfDefinitions :: IO [(Int,String)]   

(only for internal use).

Further infos:
  • externally defined