Common Lisp Package: SB-SPROF

README:

FUNCTION

Public

PROFILE-CALL-COUNTS (&REST NAMES)

Mark the functions named by NAMES as being subject to call counting during statistical profiling. If a string is used as a name, it will be interpreted as a package name. In this case call counting will be done for all functions with names like X or (SETF X), where X is a symbol with the package as its home package.

REPORT (&KEY (TYPE GRAPH) MAX MIN-PERCENT CALL-GRAPH ((SORT-BY *REPORT-SORT-BY*) *REPORT-SORT-BY*) ((SORT-ORDER *REPORT-SORT-ORDER*) *REPORT-SORT-ORDER*) (STREAM *STANDARD-OUTPUT*) ((SHOW-PROGRESS *SHOW-PROGRESS*)))

Report statistical profiling results. The following keyword args are recognized: :TYPE <type> Specifies the type of report to generate. If :FLAT, show flat report, if :GRAPH show a call graph and a flat report. If nil, don't print out a report. :STREAM <stream> Specify a stream to print the report on. Default is *STANDARD-OUTPUT*. :MAX <max> Don't show more than <max> entries in the flat report. :MIN-PERCENT <min-percent> Don't show functions taking less than <min-percent> of the total time in the flat report. :SORT-BY <column> If :SAMPLES, sort flat report by number of samples taken. If :CUMULATIVE-SAMPLES, sort flat report by cumulative number of samples taken (shows how much time each function spent on stack.) Default is *REPORT-SORT-BY*. :SORT-ORDER <order> If :DESCENDING, sort flat report in descending order. If :ASCENDING, sort flat report in ascending order. Default is *REPORT-SORT-ORDER*. :SHOW-PROGRESS <bool> If true, print progress messages while generating the call graph. :CALL-GRAPH <graph> Print a report from <graph> instead of the latest profiling results. Value of this function is a CALL-GRAPH object representing the resulting call-graph, or NIL if there are no samples (eg. right after calling RESET.) Profiling is stopped before the call graph is generated.

RESET

Reset the profiler.

START-PROFILING (&KEY (MAX-SAMPLES *MAX-SAMPLES*) (MODE *SAMPLING-MODE*) (SAMPLE-INTERVAL *SAMPLE-INTERVAL*) (ALLOC-INTERVAL *ALLOC-INTERVAL*) (MAX-DEPTH MOST-POSITIVE-FIXNUM) (THREADS ALL) (SAMPLING T))

Start profiling statistically in the current thread if not already profiling. The following keyword args are recognized: :SAMPLE-INTERVAL <n> Take a sample every <n> seconds. Default is *SAMPLE-INTERVAL*. :ALLOC-INTERVAL <n> Take a sample every time <n> allocation regions (approximately 8kB) have been allocated since the last sample. Default is *ALLOC-INTERVAL*. :MODE <mode> If :CPU, run the profiler in CPU profiling mode. If :ALLOC, run the profiler in allocation profiling mode. If :TIME, run the profiler in wallclock profiling mode. :MAX-SAMPLES <max> Maximum number of samples. Default is *MAX-SAMPLES*. :MAX-DEPTH <max> Maximum call stack depth that the profiler should consider. Only has an effect on x86 and x86-64. :THREADS <list> List threads to profile, or :ALL to indicate that all threads should be profiled. Defaults to :ALL. (Note: WITH-PROFILING defaults to the current thread.) :THREADS has no effect on call-counting at the moment. On some platforms (eg. Darwin) the signals used by the profiler are not properly delivered to threads in proportion to their CPU usage when doing :CPU profiling. If you see empty call graphs, or are obviously missing several samples from certain threads, you may be falling afoul of this. :SAMPLING <bool> If true, the default, start sampling right away. If false, START-SAMPLING can be used to turn sampling on.

START-SAMPLING

Switch on statistical sampling.

STOP-PROFILING

Stop profiling if profiling.

STOP-SAMPLING

Switch off statistical sampling.

UNPROFILE-CALL-COUNTS

Clear all call counting information. Call counting will be done for no functions during statistical profiling.

Private

CALL-COUNT (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

CALL-GRAPH-ELSEWHERE-COUNT (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

CALL-GRAPH-FLAT-NODES (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

CALL-GRAPH-NSAMPLES (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

CALL-GRAPH-SAMPLE-INTERVAL (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

CALL-GRAPH-SAMPLED-THREADS (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

CALL-GRAPH-SAMPLING-MODE (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

CALL-GRAPH-VERTICES (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

CALL-VERTEX (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

CYCLE-ACCRUED-COUNT (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

CYCLE-CALL-COUNT (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

CYCLE-CALLERS (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

CYCLE-COUNT (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

CYCLE-DEBUG-INFO (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

CYCLE-DFN (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

CYCLE-EDGES (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

CYCLE-INDEX (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

CYCLE-NAME (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

CYCLE-ROOT (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

CYCLE-SCC-VERTICES (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

CYCLE-VISITED (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

EDGE-VERTEX (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

GRAPH-VERTICES (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

NODE-ACCRUED-COUNT (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

NODE-CALL-COUNT (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

NODE-CALLERS (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

NODE-COUNT (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

NODE-DEBUG-INFO (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

NODE-DFN (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

NODE-EDGES (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

NODE-INDEX (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

NODE-NAME (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

NODE-ROOT (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

NODE-SCC-VERTICES (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

NODE-VISITED (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

SAMPLES-ALLOC-INTERVAL (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

SAMPLES-INDEX (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

SAMPLES-MAX-DEPTH (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

SAMPLES-MAX-SAMPLES (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

SAMPLES-MODE (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

SAMPLES-SAMPLE-INTERVAL (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

SAMPLES-SAMPLED-THREADS (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

SAMPLES-TRACE-COUNT (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

SAMPLES-VECTOR (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

VERTEX-DFN (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

VERTEX-EDGES (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

VERTEX-ROOT (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

VERTEX-SCC-VERTICES (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

VERTEX-VISITED (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

Undocumented

%MAKE-CALL-GRAPH (&KEY ((VERTICES DUM432) NIL) ((SAMPLE-INTERVAL DUM433) (MISSING-ARG)) ((SAMPLING-MODE DUM434) (MISSING-ARG)) ((NSAMPLES DUM435) (MISSING-ARG)) ((SAMPLED-THREADS DUM436) NIL) ((ELSEWHERE-COUNT DUM437) (MISSING-ARG)) ((FLAT-NODES DUM438) NIL))

%MAKE-NODE (&KEY ((VISITED DUM515) NIL) ((ROOT DUM516) NIL) ((DFN DUM517) 0) ((EDGES DUM518) NIL) ((SCC-VERTICES DUM519) NIL) ((INDEX DUM520) 0) ((START-PC-OR-OFFSET DUM521) 0) ((END-PC-OR-OFFSET DUM522) 0) ((NAME DUM523) NIL) ((COUNT DUM524) 0) ((ACCRUED-COUNT DUM525) 0) ((DEBUG-INFO DUM526) NIL) ((CALLERS DUM527) NIL) ((CALL-COUNT DUM528) NIL))

ADD-DISASSEMBLY-PROFILE-NOTE (CHUNK STREAM DSTATE)

SETFCALL-COUNT (NEW-VALUE INSTANCE)

SETFCALL-GRAPH-ELSEWHERE-COUNT (NEW-VALUE INSTANCE)

SETFCALL-GRAPH-FLAT-NODES (NEW-VALUE INSTANCE)

SETFCALL-GRAPH-NSAMPLES (NEW-VALUE INSTANCE)

CALL-GRAPH-P (OBJECT)

SETFCALL-GRAPH-SAMPLE-INTERVAL (NEW-VALUE INSTANCE)

SETFCALL-GRAPH-SAMPLED-THREADS (NEW-VALUE INSTANCE)

SETFCALL-GRAPH-SAMPLING-MODE (NEW-VALUE INSTANCE)

SETFCALL-GRAPH-VERTICES (NEW-VALUE INSTANCE)

CALL-P (OBJECT)

SETFCALL-VERTEX (NEW-VALUE INSTANCE)

CODE-BOUNDS (CODE)

CODE-START (CODE)

COLLECT-NODES

COMPUTE-ACCRUED-COUNTS (CALL-GRAPH)

COPY-CALL (INSTANCE)

COPY-CALL-GRAPH (INSTANCE)

COPY-CYCLE (INSTANCE)

COPY-EDGE (INSTANCE)

COPY-GRAPH (INSTANCE)

COPY-NODE (INSTANCE)

COPY-SAMPLES (INSTANCE)

COPY-VERTEX (INSTANCE)

SETFCYCLE-ACCRUED-COUNT (NEW-VALUE INSTANCE)

SETFCYCLE-CALL-COUNT (NEW-VALUE INSTANCE)

SETFCYCLE-CALLERS (NEW-VALUE INSTANCE)

SETFCYCLE-COUNT (NEW-VALUE INSTANCE)

SETFCYCLE-DEBUG-INFO (NEW-VALUE INSTANCE)

SETFCYCLE-DFN (NEW-VALUE INSTANCE)

SETFCYCLE-EDGES (NEW-VALUE INSTANCE)

CYCLE-END-PC-OR-OFFSET (INSTANCE)

SETFCYCLE-END-PC-OR-OFFSET (NEW-VALUE INSTANCE)

SETFCYCLE-INDEX (NEW-VALUE INSTANCE)

SETFCYCLE-NAME (NEW-VALUE INSTANCE)

CYCLE-P (OBJECT)

SETFCYCLE-ROOT (NEW-VALUE INSTANCE)

SETFCYCLE-SCC-VERTICES (NEW-VALUE INSTANCE)

CYCLE-START-PC-OR-OFFSET (INSTANCE)

SETFCYCLE-START-PC-OR-OFFSET (NEW-VALUE INSTANCE)

SETFCYCLE-VISITED (NEW-VALUE INSTANCE)

DEBUG-INFO (PC)

DISABLE-CALL-COUNTING

EDGE-P (OBJECT)

SETFEDGE-VERTEX (NEW-VALUE INSTANCE)

ENABLE-CALL-COUNTING

ENABLE-CALL-COUNTING-FOR-FUNCTION (FUNCTION-NAME)

ENSURE-SAMPLES-VECTOR (SAMPLES)

GRAPH-P (OBJECT)

SETFGRAPH-VERTICES (NEW-VALUE INSTANCE)

LOOKUP-NODE (INFO)

MAKE-CALL (VERTEX)

MAKE-CALL-GRAPH (MAX-DEPTH)

MAKE-CALL-GRAPH-1 (MAX-DEPTH)

MAKE-CYCLE (&KEY ((VISITED DUM609) NIL) ((ROOT DUM610) NIL) ((DFN DUM611) 0) ((EDGES DUM612) NIL) ((SCC-VERTICES DUM613) NIL) ((INDEX DUM614) 0) ((START-PC-OR-OFFSET DUM615) 0) ((END-PC-OR-OFFSET DUM616) 0) ((NAME DUM617) NIL) ((COUNT DUM618) 0) ((ACCRUED-COUNT DUM619) 0) ((DEBUG-INFO DUM620) NIL) ((CALLERS DUM621) NIL) ((CALL-COUNT DUM622) NIL))

MAKE-EDGE (&KEY ((VERTEX DUM71) (MISSING-ARG)))

MAKE-GRAPH (&KEY ((VERTICES DUM112) NIL))

MAKE-NODE (INFO)

MAKE-SAMPLES (&KEY ((VECTOR DUM720) (MAKE-ARRAY (* *MAX-SAMPLES* 10 2))) ((TRACE-COUNT DUM721) 0) ((INDEX DUM722) 0) ((MODE DUM723) NIL) ((SAMPLE-INTERVAL DUM724) (MISSING-ARG)) ((ALLOC-INTERVAL DUM725) (MISSING-ARG)) ((MAX-DEPTH DUM726) MOST-POSITIVE-FIXNUM) ((MAX-SAMPLES DUM727) (MISSING-ARG)) ((SAMPLED-THREADS DUM728) NIL))

MAKE-SCC (SCC-VERTICES EDGES)

MAKE-VERTEX (&KEY ((VISITED DUM0) NIL) ((ROOT DUM1) NIL) ((DFN DUM2) 0) ((EDGES DUM3) NIL) ((SCC-VERTICES DUM4) NIL))

MAP-VERTICES (FN VERTICES)

SETFNODE-ACCRUED-COUNT (NEW-VALUE INSTANCE)

SETFNODE-CALL-COUNT (NEW-VALUE INSTANCE)

SETFNODE-CALLERS (NEW-VALUE INSTANCE)

SETFNODE-COUNT (NEW-VALUE INSTANCE)

SETFNODE-DEBUG-INFO (NEW-VALUE INSTANCE)

SETFNODE-DFN (NEW-VALUE INSTANCE)

SETFNODE-EDGES (NEW-VALUE INSTANCE)

NODE-END-PC-OR-OFFSET (INSTANCE)

SETFNODE-END-PC-OR-OFFSET (NEW-VALUE INSTANCE)

SETFNODE-INDEX (NEW-VALUE INSTANCE)

SETFNODE-NAME (NEW-VALUE INSTANCE)

NODE-P (OBJECT)

SETFNODE-ROOT (NEW-VALUE INSTANCE)

SETFNODE-SCC-VERTICES (NEW-VALUE INSTANCE)

NODE-START-PC-OR-OFFSET (INSTANCE)

SETFNODE-START-PC-OR-OFFSET (NEW-VALUE INSTANCE)

SETFNODE-VISITED (NEW-VALUE INSTANCE)

PROFILE-CALL-COUNTS-FOR-FUNCTION (FUNCTION-NAME)

PROFILED-THREAD-P (THREAD)

PROFILED-THREADS

PTHREAD-KILL (OS-THREAD SIGNAL)

RECORD (SAMPLES PC)

RECORD-TRACE-START (SAMPLES)

REDUCE-CALL-GRAPH (CALL-GRAPH)

REDUCE-GRAPH (GRAPH &OPTIONAL (SCC-CONSTRUCTOR #'MAKE-SCC))

SAMPLE-PC-FROM-PC-OR-OFFSET (SAMPLE PC-OR-OFFSET)

SETFSAMPLES-ALLOC-INTERVAL (NEW-VALUE INSTANCE)

SETFSAMPLES-INDEX (NEW-VALUE INSTANCE)

SETFSAMPLES-MAX-DEPTH (NEW-VALUE INSTANCE)

SETFSAMPLES-MAX-SAMPLES (NEW-VALUE INSTANCE)

SETFSAMPLES-MODE (NEW-VALUE INSTANCE)

SAMPLES-P (OBJECT)

SAMPLES-PERCENT (CALL-GRAPH COUNT)

SETFSAMPLES-SAMPLE-INTERVAL (NEW-VALUE INSTANCE)

SETFSAMPLES-SAMPLED-THREADS (NEW-VALUE INSTANCE)

SETFSAMPLES-TRACE-COUNT (NEW-VALUE INSTANCE)

SETFSAMPLES-VECTOR (NEW-VALUE INSTANCE)

SCC-P (VERTEX)

SELF-CYCLE-P (VERTEX)

SHOW-PROGRESS (FORMAT-STRING &REST ARGS)

SIGPROF-HANDLER (SIGNAL CODE SCP)

STRONG-COMPONENTS (VERTICES)

TEST

TEST-0 (N &OPTIONAL (DEPTH 0))

THREAD-DISTRIBUTION-HANDLER

TOPOLOGICAL-SORT (DAG)

TURN-OFF-SAMPLING

TURN-ON-SAMPLING

SETFVERTEX-DFN (NEW-VALUE INSTANCE)

SETFVERTEX-EDGES (NEW-VALUE INSTANCE)

VERTEX-P (OBJECT)

SETFVERTEX-ROOT (NEW-VALUE INSTANCE)

SETFVERTEX-SCC-VERTICES (NEW-VALUE INSTANCE)

SETFVERTEX-VISITED (NEW-VALUE INSTANCE)

MACRO

Public

WITH-PROFILING ((&KEY (SAMPLE-INTERVAL '*SAMPLE-INTERVAL*) (ALLOC-INTERVAL '*ALLOC-INTERVAL*) (MAX-SAMPLES '*MAX-SAMPLES*) (RESET NIL) (MODE '*SAMPLING-MODE*) (LOOP T) (MAX-DEPTH MOST-POSITIVE-FIXNUM) SHOW-PROGRESS (THREADS '(LIST *CURRENT-THREAD*)) (REPORT NIL REPORT-P)) &BODY BODY)

Repeatedly evaluate BODY with statistical profiling turned on. In multi-threaded operation, only the thread in which WITH-PROFILING was evaluated will be profiled by default. If you want to profile multiple threads, invoke the profiler with START-PROFILING. The following keyword args are recognized: :SAMPLE-INTERVAL <n> Take a sample every <n> seconds. Default is *SAMPLE-INTERVAL*. :ALLOC-INTERVAL <n> Take a sample every time <n> allocation regions (approximately 8kB) have been allocated since the last sample. Default is *ALLOC-INTERVAL*. :MODE <mode> If :CPU, run the profiler in CPU profiling mode. If :ALLOC, run the profiler in allocation profiling mode. If :TIME, run the profiler in wallclock profiling mode. :MAX-SAMPLES <max> Repeat evaluating body until <max> samples are taken. Default is *MAX-SAMPLES*. :MAX-DEPTH <max> Maximum call stack depth that the profiler should consider. Only has an effect on x86 and x86-64. :REPORT <type> If specified, call REPORT with :TYPE <type> at the end. :RESET <bool> It true, call RESET at the beginning. :THREADS <list-form> Form that evaluates to the list threads to profile, or :ALL to indicate that all threads should be profiled. Defaults to the current thread. (Note: START-PROFILING defaults to all threads.) :THREADS has no effect on call-counting at the moment. On some platforms (eg. Darwin) the signals used by the profiler are not properly delivered to threads in proportion to their CPU usage when doing :CPU profiling. If you see empty call graphs, or are obviously missing several samples from certain threads, you may be falling afoul of this. :LOOP <bool> If true (the default) repeatedly evaluate BODY. If false, evaluate if only once.

WITH-SAMPLING ((&OPTIONAL (ON T)) &BODY BODY)

Evaluate body with statistical sampling turned on or off.

Private

Undocumented

DO-EDGES ((EDGE EDGE-TO VERTEX) &BODY BODY)

DO-VERTICES ((VERTEX GRAPH) &BODY BODY)

WITH-LOOKUP-TABLES (NIL &BODY BODY)

VARIABLE

Public

*ALLOC-INTERVAL*

Default number of allocation region openings between samples.

*MAX-SAMPLES*

Default number of traces taken. This variable is somewhat misnamed: each trace may actually consist of an arbitrary number of samples, depending on the depth of the call stack.

*REPORT-SORT-BY*

Method for sorting the flat report: either by :SAMPLES or by :CUMULATIVE-SAMPLES.

*REPORT-SORT-ORDER*

Order for sorting the flat report: either :DESCENDING or :ASCENDING.

*SAMPLE-INTERVAL*

Default number of seconds between samples.

Private

*SAMPLING-MODE*

Default sampling mode. :CPU for cpu profiling, :ALLOC for allocation profiling

Undocumented

*ALLOC-REGION-SIZE*

*DISTRIBUTION-LOCK*

*ENCAPSULATIONS*

*OLD-ALLOC-INTERVAL*

*OLD-SAMPLE-INTERVAL*

*OLD-SAMPLING*

*PROFILED-THREADS*

*PROFILER-LOCK*

*PROFILING*

*SAMPLES*

*SAMPLING*

*SHOW-PROGRESS*

*TIMER*

*TIMER-THREAD*

CLASS

Private

Undocumented

CALL

CALL-GRAPH

CYCLE

EDGE

GRAPH

NODE

SAMPLES

VERTEX

CONSTANT

Private

+UNKNOWN-ADDRESS+

Constant representing an address that cannot be determined.