[ library(port_profiler) | The ECLiPSe Libraries | 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 exit_block/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.
    
See Also
library(port_profiler), library(coverage), profile / 1, last_port_profile / 1