(create-custom-fns custom time-opts)create custom functions
(create-custom-fns [{:keys [:bench.stats.lag :bench.stats.time] :sample 10 :aggregate :max}] {:order :desc :key :start}) => (contains {:bench.stats.lag fn? :bench.stats.time fn?})
create custom functions
(create-custom-fns [{:keys [:bench.stats.lag :bench.stats.time]
:sample 10
:aggregate :max}]
{:order :desc :key :start})
=> (contains {:bench.stats.lag fn?
:bench.stats.time fn?})(create-merge-fn {:keys [sample aggregate none] :as m} time-opts)creates a merge function
(def merge-fn (create-merge-fn {:sample 9} {:key identity :order :asc}))
(long (merge-fn (range 90))) => 44
creates a merge function
(def merge-fn (create-merge-fn {:sample 9} {:key identity :order :asc}))
(long (merge-fn (range 90)))
=> 44(map-merge-fn {:keys [default time custom skip template]}
{time-key :key :as time-opts})creates a map merge function
(map-merge-fn {:time {:aggregate :first} :default {:sample 4} :custom [{:keys [:bench.stats.lag] :sample 10 :aggregate :max} {:keys [:bench.stats.time] :sample 4 :aggregate :mean}]} {:order :desc :key :start}) => fn?
creates a map merge function
(map-merge-fn {:time {:aggregate :first}
:default {:sample 4}
:custom [{:keys [:bench.stats.lag]
:sample 10
:aggregate :max}
{:keys [:bench.stats.time]
:sample 4
:aggregate :mean}]}
{:order :desc :key :start})
=> fn?(parse-transform-expr {:keys [interval time default custom] :as m}
type
time-opts)parses the transform expr
parses the transform expr
(prep-merge {:keys [sample aggregate none] :or {aggregate :mean none 0}}
time-opts)prepares the merge functions and options
(prep-merge {:sample [[0 :1m] :range]} {:unit :ms}) => (contains-in [fn? {:size {:type :to, :start [:array 0], :end [:time 60000]}, :strategy :range}])
prepares the merge functions and options
(prep-merge {:sample [[0 :1m] :range]} {:unit :ms})
=> (contains-in [fn? {:size {:type :to, :start [:array 0],
:end [:time 60000]},
:strategy :range}])(process arr {:keys [time transform computes] :as opts})processes time series
processes time series
(process-compute arr {:keys [compute time]})processes the indicator stage
(->> (process-compute [{:start 0 :bench.stats.lag 0.7 :bench.stats.time 0.3} {:start 2 :bench.stats.lag 0.3 :bench.stats.time 0.5} {:start 3 :bench.stats.lag 0.4 :bench.stats.time 0.3} {:start 4 :bench.stats.lag 0.5 :bench.stats.time 0.3}] {:compute {:lag [:s/norm :bench.stats.lag] :time [:s/norm :bench.stats.time]}}) (map (juxt :lag :time))) => [[1.0 0.6] [0.4285714285714286 1.0] [0.5714285714285715 0.6] [0.7142857142857143 0.6]]
processes the indicator stage
(->> (process-compute [{:start 0
:bench.stats.lag 0.7
:bench.stats.time 0.3}
{:start 2
:bench.stats.lag 0.3
:bench.stats.time 0.5}
{:start 3
:bench.stats.lag 0.4
:bench.stats.time 0.3}
{:start 4
:bench.stats.lag 0.5
:bench.stats.time 0.3}]
{:compute {:lag [:s/norm :bench.stats.lag]
:time [:s/norm :bench.stats.time]}})
(map (juxt :lag :time)))
=> [[1.0 0.6] [0.4285714285714286 1.0] [0.5714285714285715 0.6] [0.7142857142857143 0.6]](process-transform arr {:keys [transform template] time-opts :time})processes the transform stage
processes the transform stage
(time-merge-fn {:keys [time]} time-opts)creates a merge function for time
creates a merge function for time
(transform-interval arr {:keys [interval template merge-fn]} type time-opts)transform array based on resolution
transform array based on resolution
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |