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

set-process-profiling Function


Controls the set of processes that are profiled.




set-process-profiling flag processes

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

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:

The given processes are added to the set.
The given processes are removed from the 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:

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.
Means all processes, including those which are created after profiling started.
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.


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

12 The Profiler

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