Liking cljdoc? Tell your friends :D

flow-storm.api

clj

This is the only namespace intended for users. Provides functionality to connect to the debugger and instrument forms.

This is the only namespace intended for users.
Provides functionality to connect to the debugger and instrument forms.
raw docstring

api-loaded?clj/s

Used for remote connections to check this ns has been loaded

Used for remote connections to check this ns has been loaded
raw docstring

cli-docclj

(cli-doc {:keys [instrument-ns excluding-ns require-before fn-symb fn-args
                 verbose? excluding-fns result-name print-unsampled?
                 examples-pprint? examples-print-length examples-print-level]
          :as opts})

Document a code base by instrumenting, running and sampling it.

  • :instrument-ns Set of namespaces prefixes to instrument for documentation

  • :result-name A name for the output jar file

  • :fn-symb Fully qualified symbol of the fn to run for exercising the code base

  • :fn-args Arguments to be passed to the function defined by :fn-symb

  • :excluding-fns (optional) A set of fns as symbols to be excluded from instrumentation.

  • :excluding-ns (optional) A set of namespaces as string to be excluded from instrumentation.

  • :require-before (optional) A set of namespaces as a string. Useful when you need to load extra namespaces before instrumentation.

  • :verbose? (optional) Print extra log info.

  • :print-unsampled? (optional) After finishing, prints all uncovered functions (functions that where instrumented but weren't sampled)

  • :examples-pprint? (optional) Pretty print the values in the examples

  • :examples-print-length (optional) Print length for the examples values

  • :examples-print-level (optional) Print level for the examples values

Document a code base by instrumenting, running and sampling it.

- :instrument-ns Set of namespaces prefixes to instrument for documentation
- :result-name A name for the output jar file
- :fn-symb Fully qualified symbol of the fn to run for exercising the code base
- :fn-args Arguments to be passed to the function defined by `:fn-symb`

- :excluding-fns (optional) A set of fns as symbols to be excluded from instrumentation.
- :excluding-ns (optional) A set of namespaces as string to be excluded from instrumentation.
- :require-before (optional) A set of namespaces as a string. Useful when you need to load extra namespaces before instrumentation.
- :verbose? (optional) Print extra log info.
- :print-unsampled? (optional) After finishing, prints all uncovered functions (functions that where instrumented but weren't sampled)
- :examples-pprint? (optional) Pretty print the values in the examples
- :examples-print-length (optional) Print length for the examples values
- :examples-print-level (optional) Print level for the examples values
raw docstring

cli-runclj

(cli-run {:keys [instrument-ns excluding-ns require-before fn-symb fn-args
                 profile verbose? styles theme flow-id excluding-fns]
          :as opts})

Require fn-symb ns, instrument ns-set (excluding excluding-ns) and then call (apply fn-symb fn-args).

profile (optional) should be :full (for full instrumentation) or :light for disable #{:expr :binding}

require-before (optional) should be a set of namespaces you want to require before the instrumentation.

verbose? (optional) when true show more logging.

styles (optional) a file path containing styles (css) that will override default styles

cli-run is designed to be used with clj -X like :

clj -X:dbg:inst:dev:build flow-storm.api/cli-run :instrument-set '#{"hf.depstar"}' :fn-symb 'hf.depstar/jar' :fn-args '[{:jar "flow-storm-dbg.jar" :aliases [:dbg] :paths-only false :sync-pom true :version "1.1.1" :group-id "com.github.jpmonettas" :artifact-id "flow-storm-dbg"}]'

if you want to package flow-storm-dbg with depstar traced.

Require `fn-symb` ns, instrument `ns-set` (excluding `excluding-ns`) and then call (apply `fn-symb` `fn-args`).

`profile` (optional) should be :full (for full instrumentation) or :light for disable #{:expr :binding}

`require-before` (optional) should be a set of namespaces you want to require before the instrumentation.

`verbose?` (optional) when true show more logging.

`styles` (optional) a file path containing styles (css) that will override default styles

cli-run is designed to be used with clj -X like :

clj -X:dbg:inst:dev:build flow-storm.api/cli-run :instrument-set '#{"hf.depstar"}' :fn-symb 'hf.depstar/jar' :fn-args '[{:jar "flow-storm-dbg.jar" :aliases [:dbg] :paths-only false :sync-pom true :version "1.1.1" :group-id "com.github.jpmonettas" :artifact-id "flow-storm-dbg"}]'

if you want to package flow-storm-dbg with depstar traced.
raw docstring

current-stack-traceclj/s

(current-stack-trace)

debugger-main-nsclj


instrument*clj/smacro

(instrument* config form)

instrument-namespaces-cljclj

(instrument-namespaces-clj prefixes)
(instrument-namespaces-clj prefixes opts)

Instrument all forms, in all namespaces that matches prefixes.

prefixes is a set of ns prefixes like #{"cljs.compiler" "cljs.analyzer"}

opts is a map containing : - :excluding-ns a set of strings with namespaces that should be excluded - :disable a set containing any of #{:expr :binding :anonymous-fn} useful for disabling unnecesary traces in code that generate too many traces - :verbose? when true show more logging

Instrument all forms, in all namespaces that matches `prefixes`.

  `prefixes` is a set of ns prefixes like #{"cljs.compiler" "cljs.analyzer"}

`opts` is a map containing :
     - :excluding-ns  a set of strings with namespaces that should be excluded
     - :disable a set containing any of #{:expr :binding :anonymous-fn}
                useful for disabling unnecesary traces in code that generate too many traces
     - :verbose? when true show more logging
raw docstring

instrument-namespaces-cljsclj

(instrument-namespaces-cljs prefixes)
(instrument-namespaces-cljs prefixes opts)

Like flow-storm.api/instrument-namespaces-clj but for using it from the shadow Clojure repl.

Arguments are the same as the Clojure version but config also accepts a :build-id

Like `flow-storm.api/instrument-namespaces-clj` but for using it from the shadow Clojure repl.

Arguments are the same as the Clojure version but `config` also accepts a `:build-id`
raw docstring

instrument-var-cljclj

(instrument-var-clj var-symb)
(instrument-var-clj var-symb config)

Instruments any var.

Lets say you are interested in debugging clojure.core/interpose you can do :

(instrument-var-clj clojure.core/interpose)

Then you can call :

(interpose :a [1 2 3])

and it will show up in the debugger.

Be careful instrumenting clojure.core functions or any functions that are being used by repl system code since can be called constantly and generate a lot of noise.

Use uninstrument-var-clj to remove instrumentation.

opts is a map that support :flow-id and :disable See instrument-namespaces-clj for :disable

Instruments any var.

  Lets say you are interested in debugging clojure.core/interpose you can do :

(instrument-var-clj clojure.core/interpose)

Then you can call :

(interpose :a [1 2 3])

and it will show up in the debugger.

Be careful instrumenting clojure.core functions or any functions that are being used
by repl system code since can be called constantly and generate a lot of noise.

Use `uninstrument-var-clj` to remove instrumentation.

`opts` is a map that support :flow-id and :disable
See `instrument-namespaces-clj` for :disable
raw docstring

instrument-var-cljsclj

(instrument-var-cljs var-symb)
(instrument-var-cljs var-symb config)

Like flow-storm.api/instrument-var-clj but for using it from the shadow Clojure repl.

Arguments are the same as the Clojure version but config also accepts a :build-id

Like `flow-storm.api/instrument-var-clj` but for using it from the shadow Clojure repl.

Arguments are the same as the Clojure version but `config` also accepts a `:build-id`
raw docstring

local-connectclj

(local-connect)
(local-connect config)

Start a debugger under this same JVM process and connect to it.

This is the recommended way of using the debugger for debugging code that generates a lot of data since data doesn't need to serialize/deserialize it like in a remote debugging session case.

config should be a map containing :

 - `:verbose?` to log more stuff for debugging the debugger
 - `:theme` can be one of `:light`, `:dark` or `:auto`
 - `:styles` a string path to a css file if you want to override some started debugger styles

Use flow-storm.api/stop to shutdown the system nicely.

Start a debugger under this same JVM process and connect to it.

This is the recommended way of using the debugger for debugging code that
generates a lot of data since data doesn't need to serialize/deserialize it like
in a remote debugging session case.

`config` should be a map containing :

     - `:verbose?` to log more stuff for debugging the debugger
     - `:theme` can be one of `:light`, `:dark` or `:auto`
     - `:styles` a string path to a css file if you want to override some started debugger styles

Use `flow-storm.api/stop` to shutdown the system nicely.
raw docstring

read-ctrace-tagclj

(read-ctrace-tag form)

read-rtrace-tagclj

(read-rtrace-tag form)

read-rtrace0-tagclj

(read-rtrace0-tag form)

read-rtrace1-tagclj

(read-rtrace1-tag form)

read-rtrace2-tagclj

(read-rtrace2-tag form)

read-rtrace3-tagclj

(read-rtrace3-tag form)

read-rtrace4-tagclj

(read-rtrace4-tag form)

read-rtrace5-tagclj

(read-rtrace5-tag form)

read-tap-stack-trace-tagclj

(read-tap-stack-trace-tag form)

read-tap-tagclj

(read-tap-tag form)

read-trace-tagclj

(read-trace-tag form)

remote-connectclj/s

(remote-connect config)

runiclj/smacro

(runi opts form)

Run instrumented.

(runi opts form)

Instrument form and run it for tracing.

Same as doing #rtrace form.

opts is a map that support the same keys as instrument-var.

Run instrumented.

(runi opts form)

Instrument form and run it for tracing.

Same as doing #rtrace `form`.

`opts` is a map that support the same keys as `instrument-var`. 
raw docstring

show-docclj

(show-doc var-symb)

stopclj/s

(stop)

uninstrument-namespaces-cljclj

(uninstrument-namespaces-clj prefixes)
(uninstrument-namespaces-clj prefixes opts)

Undo instrumentation made by flow-storm.api/instrument-namespaces-clj

Undo instrumentation made by `flow-storm.api/instrument-namespaces-clj`
raw docstring

uninstrument-namespaces-cljsclj

(uninstrument-namespaces-cljs prefixes config)

Like flow-storm.api/uninstrument-namespaces-clj but for using it from the shadow Clojure repl. Arguments are the same as the Clojure version but config also accepts a :build-id

Like `flow-storm.api/uninstrument-namespaces-clj` but for using it from the shadow Clojure repl.
Arguments are the same as the Clojure version but `config` also accepts a `:build-id`
raw docstring

uninstrument-var-cljclj

(uninstrument-var-clj var-symb)

Remove instrumentation given a var symbol.

(uninstrument-var-clj var-symb)

Remove instrumentation given a var symbol.

(uninstrument-var-clj var-symb)
raw docstring

uninstrument-var-cljsclj

(uninstrument-var-cljs var-symb config)

Like flow-storm.api/uninstrument-var-clj but for using it from the shadow Clojure repl.

Arguments are the same as the Clojure version but config needs a :build-id

Like `flow-storm.api/uninstrument-var-clj` but for using it from the shadow Clojure repl.

Arguments are the same as the Clojure version but `config` needs a `:build-id`
raw docstring

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close