[ library(port_profiler) | Reference Manual | Alphabetic Index ]
port_profile(+Goal, ++Options)
Create a (box model) port profile for the given Goal execution
- Goal
- A callable goal (atom or compound term)
- Options
- A list of OptionName:OptionValue structures
Description
    	Executes Goal and creates a (box model) port profile for this execution.
	The ports are the ports as defined for the debugger's box model and
	include:
	
	- call
- predicate invocation
	- exit
- deterministic predicate success
	
	- fail
- predicate failure
	
	- *exit
- nondeterministic predicate success
	
	- redo
- reentering a predicate on backtracking
	
	- next
- going to the next clause of a predicate
	
	- else
- going to an alternative within a predicate
	
	- leave
- leaving a predicate with throw/1
	
	- delay
- delaying a predicate
	
	- resume
- reentering a predicate on waking
	
    	The available options are:
	
	- format (default:txt)
- output format, txt or html
	    - txt
- prints an ascii table, taking width-option into account
- html
- prints an html table, taking border-option into account
- raw
- prints the raw results as lines of the form
		
		[M:F/A from PM:PF/PA, Port, Count].
		 if the show_caller-option is on, and
		[M:F/A, Port, Count].
		 if the show_caller-option is off. These are valid Prolog
		terms which can be read back using read/2.
- border (default:0)
- table border width for html output
- output (default:default)
- 
	    where to put the result: possible values are
	    
	    - file(File)
- where File is a file name
- stream(Stream)
- where Stream is an Eclipse stream identifier
- dir(Dir)
- where Dir is a directory in which files with generated names will be placed
- default
- either dir(profiler) for html format, or stream(output) otherwise
 
- ports (default:all)
- the atom 'all' or a list of port names
- predicates (default:all)
- the atom 'all' or 'spied_only'.
	    The latter means that only predicates with a spy point have their
	    ports counted.
- show_caller (default:on)
- whether to show and distinguish
	    predicates by their calling predicate (on or off). This is the
	    only option that affects data collection as well as presentation.
- show_module (default:off)
- whether to show the predicate's
	    definition modules in the output table (on or off)
- width (default:80)
- page width for txt output
Note: Any choicepoints that are left behind by Goal will be cut, i.e.
	port_profile/2 behaves like once/1.Modules
This predicate is sensitive to its module context (tool predicate, see @/2).
See Also
library(port_profiler), library(coverage), profile : profile / 1, last_port_profile / 1