A preflex.instrument.concurrent.CallableDecorator instance that initializes shared context with (atom {}).
A preflex.instrument.concurrent.CallableDecorator instance that initializes shared context with (atom {}).
A preflex.instrument.concurrent.RunnableDecorator instance that initializes shared context with (atom {}).
A preflex.instrument.concurrent.RunnableDecorator instance that initializes shared context with (atom {}).
The default thread-pool event generator.
The default thread-pool event generator.
(event-handler-opts->factory opts)
Create an event-handler factory (preflex.instrument.EventHandlerFactory instance) from optional event handler fns.
See preflex.instrument/make-event-handler
for options.
Create an event-handler factory (preflex.instrument.EventHandlerFactory instance) from optional event handler fns. See `preflex.instrument/make-event-handler` for options.
(instrument-thread-pool
thread-pool
{:keys [callable-decorator runnable-decorator event-generator
callable-submit-wrapper multiple-submit-wrapper
runnable-submit-wrapper shutdown-request-wrapper
callable-execute-wrapper runnable-execute-wrapper
future-cancel-wrapper future-result-wrapper]
:or {multiple-submit-wrapper Wrapper/IDENTITY
callable-execute-wrapper Wrapper/IDENTITY
event-generator default-thread-pool-event-generator
runnable-decorator default-shared-context-runnable-decorator
callable-decorator default-shared-context-callable-decorator
future-result-wrapper Wrapper/IDENTITY
future-cancel-wrapper Wrapper/IDENTITY
runnable-submit-wrapper Wrapper/IDENTITY
callable-submit-wrapper Wrapper/IDENTITY
runnable-execute-wrapper Wrapper/IDENTITY
shutdown-request-wrapper Wrapper/IDENTITY}
:as opts})
Given a thread pool, an event generator and optional event handlers instrument the thread pool such that the events are raised and handled at the appropriate time. Options are as follows:
;; event generator :event-generator instance of preflex.instrument.concurrent.ConcurrentEventFactory
;; task wrappers
:callable-submit-wrapper instance of preflex.instrument.task.Wrapper or argument to preflex.task/make-wrapper
:multiple-submit-wrapper instance of preflex.instrument.task.Wrapper or argument to preflex.task/make-wrapper
:runnable-submit-wrapper instance of preflex.instrument.task.Wrapper or argument to preflex.task/make-wrapper
:shutdown-request-wrapper instance of preflex.instrument.task.Wrapper or argument to preflex.task/make-wrapper
:callable-execute-wrapper instance of preflex.instrument.task.Wrapper or argument to preflex.task/make-wrapper
:runnable-execute-wrapper instance of preflex.instrument.task.Wrapper or argument to preflex.task/make-wrapper
:future-cancel-wrapper instance of preflex.instrument.task.Wrapper or argument to preflex.task/make-wrapper
:future-result-wrapper instance of preflex.instrument.task.Wrapper or argument to preflex.task/make-wrapper
;; decorators :callable-decorator instance of preflex.instrument.concurrent.CallableDecorator :runnable-decorator instance of preflex.instrument.concurrent.RunnableDecorator
See also: event-handler-opts->factory default-thread-pool-event-generator
Given a thread pool, an event generator and optional event handlers instrument the thread pool such that the events are raised and handled at the appropriate time. Options are as follows: ;; event generator :event-generator instance of preflex.instrument.concurrent.ConcurrentEventFactory ;; task wrappers :callable-submit-wrapper instance of preflex.instrument.task.Wrapper or argument to `preflex.task/make-wrapper` :multiple-submit-wrapper instance of preflex.instrument.task.Wrapper or argument to `preflex.task/make-wrapper` :runnable-submit-wrapper instance of preflex.instrument.task.Wrapper or argument to `preflex.task/make-wrapper` :shutdown-request-wrapper instance of preflex.instrument.task.Wrapper or argument to `preflex.task/make-wrapper` :callable-execute-wrapper instance of preflex.instrument.task.Wrapper or argument to `preflex.task/make-wrapper` :runnable-execute-wrapper instance of preflex.instrument.task.Wrapper or argument to `preflex.task/make-wrapper` :future-cancel-wrapper instance of preflex.instrument.task.Wrapper or argument to `preflex.task/make-wrapper` :future-result-wrapper instance of preflex.instrument.task.Wrapper or argument to `preflex.task/make-wrapper` ;; decorators :callable-decorator instance of preflex.instrument.concurrent.CallableDecorator :runnable-decorator instance of preflex.instrument.concurrent.RunnableDecorator See also: event-handler-opts->factory default-thread-pool-event-generator
(make-event-handler event
{:keys [before on-return on-result on-throw after]
:or {before in/nop
on-return in/nop
on-result in/nop
on-throw in/nop
after in/nop}
:as opts})
Given an instrumentation event create an event handler (preflex.instrument.EventHandler instance) using optional handler fns (falling back to no-op handling) for different stages as follows:
:before (fn [event]) :on-return (fn [event]) :on-result (fn [event result]) :on-throw (fn [event exception]) :after (fn [event])
Given an instrumentation event create an event handler (preflex.instrument.EventHandler instance) using optional handler fns (falling back to no-op handling) for different stages as follows: :before (fn [event]) :on-return (fn [event]) :on-result (fn [event result]) :on-throw (fn [event exception]) :after (fn [event])
(make-shared-context-callable-decorator invoker)
Given invoker (fn [f context-atom]) -> any
, return a preflex.instrument.concurrent.CallableDecorator instance
that initializes shared context with a mutable seed and calls the invoker, f
being callable-as-no-arg-fn.
Given invoker `(fn [f context-atom]) -> any`, return a preflex.instrument.concurrent.CallableDecorator instance that initializes shared context with a mutable seed and calls the invoker, `f` being callable-as-no-arg-fn.
(make-shared-context-runnable-decorator invoker)
Given invoker (fn [f context-atom])
, return a preflex.instrument.concurrent.RunnableDecorator instance that
initializes shared context with a mutable seed and calls the invoker, f
being runnable-as-no-arg-fn.
Given invoker `(fn [f context-atom])`, return a preflex.instrument.concurrent.RunnableDecorator instance that initializes shared context with a mutable seed and calls the invoker, `f` being runnable-as-no-arg-fn.
(make-shared-context-thread-pool-task-wrappers
{:keys [now-fn k-submit-begin k-submit-end k-duration-submit k-execute-begin
k-execute-end k-duration-queue k-duration-execute k-duration-response
k-future-cancel-begin k-future-cancel-end k-future-result-begin
k-future-result-end]})
Given keyword arguments in a map, return thread-pool instrumentation task wrapper fns.
Given keyword arguments in a map, return thread-pool instrumentation task wrapper fns.
(make-thread-pool-event-generator
{:keys [runnable-submit callable-submit multiple-submit shutdown-request
runnable-execute callable-execute future-cancel future-result]
:or {runnable-submit in/nop
callable-submit in/nop
multiple-submit in/nop
shutdown-request in/nop
runnable-execute in/nop
callable-execute in/nop
future-cancel in/nop
future-result in/nop}
:as opts})
Create a thread-pool event generator (preflex.instrument.concurrent.ConcurrentEventFactory instance) using optional event generators (falling back to generating no-op events) as follows:
:runnable-submit (fn [java.lang.Runnable]) :callable-submit (fn [java.util.concurrent.Callable]) :multiple-submit (fn [java.util.Collection<java.util.concurrent.Callable>]) :shutdown-request (fn []) :runnable-execute (fn [java.lang.Runnable]) :callable-execute (fn [java.util.concurrent.Callable]) :future-cancel (fn [java.util.concurrent.Future]) :future-result (fn [java.util.concurrent.Future])
Create a thread-pool event generator (preflex.instrument.concurrent.ConcurrentEventFactory instance) using optional event generators (falling back to generating no-op events) as follows: :runnable-submit (fn [java.lang.Runnable]) :callable-submit (fn [java.util.concurrent.Callable]) :multiple-submit (fn [java.util.Collection<java.util.concurrent.Callable>]) :shutdown-request (fn []) :runnable-execute (fn [java.lang.Runnable]) :callable-execute (fn [java.util.concurrent.Callable]) :future-cancel (fn [java.util.concurrent.Future]) :future-result (fn [java.util.concurrent.Future])
(shared-context-worker nav-k f)
Given event navigation key for the instrumented object with shared-context, and a (fn [shared-context & args]), return a worker (fn [event & args]) that uses the specified function to work with the shared context.
Given event navigation key for the instrumented object with shared-context, and a (fn [shared-context & args]), return a worker (fn [event & args]) that uses the specified function to work with the shared context.
(with-shared-context [context holder] & body)
Given a symbol (to bind to wrapped context) and preflex.instrument.SharedContext instance, evaluate body of code in the binding context.
Given a symbol (to bind to wrapped context) and preflex.instrument.SharedContext instance, evaluate body of code in the binding context.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close