All Manuals > LispWorks® User Guide and Reference Manual > 37 The HCL Package

set-process-profiling Function

Summary

Controls the set of processes that are profiled.

Package

hcl

Signature

set-process-profiling flag processes

Arguments
flag
:add, :remove or :set.
processes
One of :current, :all, :new, a mp:process object, or a list of mp:process objects which may also contain :current or :new.
Description

The function set-process-profiling modifies the set of processes for which profiling information is (or will be) collected.

If set-process-profiling is called while profiling (that is after a call to start-profiling and before the next call to stop-profiling with print non-nil) the system immediately starts collecting profile information for the new set of processes.

When start-profiling is called without passing processes, it sets the processes to profile according to the last call to set-process-profiling.

flag determines how the set of processes to profile is modified:

:add
The given processes are added to the set.
:remove
The given processes are removed from the set.
:set
The given processes are used as the set.

processes controls which processes are added to the set, removed from the set or are contained in the set, as follows:

:current
Means the current process. When start-profiling is called it interprets :current to mean the current process at the time it is called. If set-process-profiling is called while profiling, :current is interpreted as the current process when set-process-profiling is called.
:all
Means all processes, including those which are created after profiling started.
:new
All processes created after the call to start-profiling, unless set-process-profiling is called while profiling, in which case it is any process created after this call.
A mp:process object
Means that process itself.
A list
Means the processes in that list. The list can contain the symbols :current or :new, which are interpreted as described above.

set-process-profiling can be called whether or not the profiler is collecting information. See start-profiling and stop-profiling.

Note: This function only works on platforms in SMP LispWorks ; in non-SMP LispWorks, all processes are profiled.

Examples

Add process1 to the set:

(set-process-profiling :add process1)

Turn off profiling for the current process:

(set-process-profiling :remove :current)

Turn off all profiling:

(set-process-profiling :remove :all)

Set all processes for later profiling:

(set-process-profiling :set :all)
See also

profile
start-profiling
stop-profiling
12 The Profiler


LispWorks® User Guide and Reference Manual - 01 Dec 2021 19:30:35