Liking cljdoc? Tell your friends :D

taoensso.tufte.impl

Private implementation details. profiled -> [<result> <derefable-and-mergeable-pstats>].

Profiling consists of:

  1. State init ; On thread
  2. Capture ; On thread
  3. State deref ; On thread
  4. ?Merging ; Off thread, on demand (deferred cost)
  5. ?Realization ; Off thread, on demand (deferred cost)

Basic implementation:

  • Capture [<id> <elapsed>]s into single mutable acc
    • May compact acc to id-times, {<id> (<time> ...)}
    • May compact id-times to id-sstats, {<id> (<stats/sstats> ...)}
  • Merge pours (read-only) acc0 + acc1 into id-times
    • May compact id-times to id-sstats, {<id> (<stats/sstats> ...)}
  • Realization:
    • Generates {<id> <stats/sstats>} from id-times.
    • Merges with id-sstats.
Private implementation details.
`profiled` -> [<result> <derefable-and-mergeable-pstats>].

Profiling consists of:
  1. State init   ; On  thread
  2. Capture      ; On  thread
  3. State deref  ; On  thread
  4. ?Merging     ; Off thread, on demand (deferred cost)
  5. ?Realization ; Off thread, on demand (deferred cost)

Basic implementation:
  - Capture [<id> <elapsed>]s into single mutable acc
    - May compact acc      to id-times,  {<id> (<time>         ...)}
    - May compact id-times to id-sstats, {<id> (<stats/sstats> ...)}
  - Merge pours (read-only) acc0 + acc1 into id-times
    - May compact id-times to id-sstats, {<id> (<stats/sstats> ...)}
  - Realization:
      - Generates {<id> <stats/sstats>} from id-times.
      - Merges with id-sstats.
raw docstring

*pdata*clj/s

nnil iff dynamic profiling active

nnil iff dynamic profiling active
sourceraw docstring

capture-time!clj/s

(capture-time! pd id ns-elapsed)
source

handle!clj/s

(handle! m)
source (clj)source (cljs)

handlers_clj/s

{<hid> <handler-fn>}

{<hid> <handler-fn>}
sourceraw docstring

merge-pstatsclj/s

(merge-pstats ps0 ps1)
(merge-pstats nmax ps0 ps1)

Compacting merge

Compacting merge
sourceraw docstring

new-pdata-dynamicclj/s

(new-pdata-dynamic nmax)
source

new-pdata-localclj/s

(new-pdata-local nmax)
source

pdata-local-getclj/s

(pdata-local-get)
source (clj)source (cljs)

pdata-local-popclj/s

(pdata-local-pop)
source (clj)source (cljs)

pdata-local-pushclj/s

(pdata-local-push v)
source (clj)source (cljs)

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

× close