A simple, fast, monitoring profiler for Clojure/Script. Usage: wrap+name interesting body exprs with the `p` macro. Then activate profiling of these wrapped exprs using the `profiled` or `profile` macros: (profiled {} (p :my-fn (my-fn))) ; Returns [<body-result> <?pstats>] (profile {} (p :my-fn (my-fn))) ; Returns <body-result> and dispatches a ; profiling signal (map) to all registered handlers. Provides extensive facilities for compile-time elision and runtime filtering. See the relevant docstrings for more info: `p`, `profiled`, `profile`, `add-handler!`, etc. (p [opts & body] [id & body]) ; e.g. `(p ::my-id (do-work))` (profiled [opts & body]) ; e.g. `(profiled {:level :info} (my-fn))` (profile [opts & body]) ; e.g. `(profiled {:level :info} (my-fn))` (add-handler! [handler-id handler-fn dispatch-opts]) How/where to use this library: Tufte profiling is highly optimized: even without elision, you can usually leave profiling active in production (e.g. for sampled profiling, or to detect unusual performance behaviour). Tufte's `pstats` data is well suited to programmatic monitoring.
Handler for Telemere, Ref. <https://www.taoensso.com/telemere>.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close