API for clojure.tools.trace - tools.trace 0.7.12-SNAPSHOT (in development)

by Stuart Sierra, Michel Salim, Luc Préfontaine, Jonathan Fischer Friberg, Michał Marczyk, Don Jackson

Full namespace name: clojure.tools.trace

Overview

This file defines simple tracing macros to help you see what your code is doing.

Protocols



ThrowableRecompose

Protocol
Protocol to isolate trace-form from convoluted throwables that 
do not have a constructor with a single string argument.

clone-throwable attempts to clone a throwable with a human readable stack trace
and message :)
It must return a throwable of the same class. If not clonable, the original
throwable should be returned. At least this will preserve the original 
throwable information.

Cloning should be non-obtrusive hence internal exceptions should be silently
swallowed and return the original throwable.
Known implementations: java.io.IOError, java.lang.AssertionError, java.lang.ThreadDeath, java.lang.Throwable, java.nio.charset.CoderMalfunctionError, nil, Object

clone-throwable

function
Usage: (clone-throwable this stack-trace args)

      

      
      
      
    
Source

Public Variables and Functions



deftrace

macro
Usage: (deftrace name & definition)
Use in place of defn; traces each call/return of this fn, including
arguments. Nested calls to deftrace'd functions will print a
tree-like structure.
The first argument of the form definition can be a doc string

    
    
    Source
  


dotrace

macro
Usage: (dotrace fnames & exprs)
Given a sequence of function identifiers, evaluate the body
expressions in an environment in which the identifiers are bound to
the traced functions. Does not work on inlined functions,
such as clojure.core/+

    
    
    Source
  


trace

function
Usage: (trace value)
       (trace name value)
Sends name (optional) and value to the tracer function, then
returns value. May be wrapped around any expression without
affecting the result.

    
    
    Source
  


trace-forms

macro
Usage: (trace-forms & body)
Trace all the forms in the given body. Returns any underlying uncaught exceptions that may make the forms fail.

    
    
    Source
  


trace-ns

macro
Usage: (trace-ns n)
Trace all fns in the given name space. The given name space can be quoted, unquoted or stored in a var.
We must try to resolve the expression passed to us partially to find out if it needs to be quoted or not
when passed to trace-ns*

    
    
    Source
  


trace-vars

macro
Usage: (trace-vars & vs)
Trace each of the specified Vars.
The arguments may be Var objects or symbols to be resolved in the current
namespace.

    
    
    Source
  


traceable?

function
Usage: (traceable? v)
Returns true if the given var can be traced, false otherwise

    
    
    Source
  


traced?

function
Usage: (traced? v)
Returns true if the given var is currently traced, false otherwise

    
    
    Source
  


untrace-ns

macro
Usage: (untrace-ns n)
Untrace all fns in the given name space. The given name space can be quoted, unquoted or stored in a var.
We must try to resolve the expression passed to us partially to find out if it needs to be quoted or not
when passed to untrace-ns*

    
    
    Source
  


untrace-vars

macro
Usage: (untrace-vars & vs)
Untrace each of the specified Vars.
Reverses the effect of trace-var / trace-vars / trace-ns for each
of the arguments, replacing the traced functions with the original,
untraced versions.

    
    
    Source
  
Logo & site design by Tom Hickey.
Clojure auto-documentation system by Tom Faulhaber.