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.
(cli-run {:keys [instrument-ns excluding-ns require-before fn-symb fn-args
profile verbose? styles host port]})
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 :anonymous-fn}
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
host
(optional) when a host is given traces are going to be send to a remote debugger
port
(optional) when a port is given traces are going to be send to a remote debugger
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 :anonymous-fn} `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 `host` (optional) when a host is given traces are going to be send to a remote debugger `port` (optional) when a port is given traces are going to be send to a remote debugger 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.
(close-remote-connection)
Instrument all forms, in all namespaces that matches prefixes
.
(instrument-forms-for-namespaces prefixes opts)
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 is a set containing any of #{:expr :binding :anonymous-fn}
useful for disabling unnecesary traces in code that generate too many traces
Instrument all forms, in all namespaces that matches `prefixes`. (instrument-forms-for-namespaces prefixes opts) `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 is a set containing any of #{:expr :binding :anonymous-fn} useful for disabling unnecesary traces in code that generate too many traces
Instruments any var.
(instrument-var var-symb opts)
Lets say you are interested in debugging clojure.core/interpose you can do :
(instrument-var clojure.core/interpose {})
#rtrace (interpose :a [1 2 3])
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
to remove instrumentation.
opts
is a map that support :flow-id and :disable
See instrument-forms-for-namespaces
for :disable
Instruments any var. (instrument-var var-symb opts) Lets say you are interested in debugging clojure.core/interpose you can do : (instrument-var clojure.core/interpose {}) #rtrace (interpose :a [1 2 3]) 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` to remove instrumentation. `opts` is a map that support :flow-id and :disable See `instrument-forms-for-namespaces` for :disable
(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?
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?`
(read-rtrace-tag form)
(read-trace-tag form)
(remote-connect)
(remote-connect
{:keys [host port on-connected] :or {host "localhost" port 7722} :as config})
Connect to a remote debugger. Without arguments connects to localhost:7722.
config
is a map with :host
, :port
Connect to a remote debugger. Without arguments connects to localhost:7722. `config` is a map with `:host`, `:port`
(run & args)
Start a flow and run form for tracing.
Will setup the execution context so all instrumented functions tracing
derived from running form
will end under the same flow.
(run opts form)
opts
is a map that support the same keys as instrument-var
.
Start a flow and run form for tracing. Will setup the execution context so all instrumented functions tracing derived from running `form` will end under the same flow. (run opts form) `opts` is a map that support the same keys as `instrument-var`.
(runi & args)
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`.
Remove instrumentation given a var symbol.
(uninstrument-var var-symb)
Remove instrumentation given a var symbol. (uninstrument-var var-symb)
(web-socket-client-object uri-str)
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close