Liking cljdoc? Tell your friends :D

hive-ttracking.bench

BC-4 Bench — statistical benchmarking for Clojure code.

Wave-2 implementation: warmup + N timed iterations, percentile aggregation (p50/p95/p99/min/max/mean/stddev), :tt/bench-run event emission, and a defbench macro that wraps deftest with a p95 threshold assertion.

Design notes:

  • Pure data in, pure data out. BenchResult is a value type.
  • Event publishing delegated to hive-ttracking.events/publish, which swallows throwables so a stalled router never fails a bench.
  • Warmup iterations run the thunk but are NOT included in samples — they let JIT compile hot paths before measurement.
BC-4 Bench — statistical benchmarking for Clojure code.

Wave-2 implementation: warmup + N timed iterations, percentile aggregation
(p50/p95/p99/min/max/mean/stddev), :tt/bench-run event emission, and a
`defbench` macro that wraps `deftest` with a p95 threshold assertion.

Design notes:
  * Pure data in, pure data out. BenchResult is a value type.
  * Event publishing delegated to hive-ttracking.events/publish, which
    swallows throwables so a stalled router never fails a bench.
  * Warmup iterations run the thunk but are NOT included in samples —
    they let JIT compile hot paths before measurement.
raw docstring

hive-ttracking.budget

BC-2 Budgets — declarative budgets, policy, assertion.

Pure. No I/O. No deps on hive-weave or hive-events. See PLAN.md §2 BC-2.

BC-2 Budgets — declarative budgets, policy, assertion.

Pure. No I/O. No deps on hive-weave or hive-events.
See PLAN.md §2 BC-2.
raw docstring

hive-ttracking.clock

Clock facade for domain code.

Domain layers MUST NOT call java.time.* or System/currentTimeMillis directly — route through this ns so tests can pin time without with-redefs on JVM statics.

Substitution model: java.time.Clock rebinding via *clock*.

  • Default: Clock/systemDefaultZone
  • Tests: bind to Clock/fixed for deterministic instants
  • All now-* fns honor the dynamic binding

Provided primitives mirror the subset needed by hive-knowledge, hive-mcp, and other consumers. Add new fns here, never inline java.time.* in calling code.

Clock facade for domain code.

Domain layers MUST NOT call `java.time.*` or `System/currentTimeMillis`
directly — route through this ns so tests can pin time without
`with-redefs` on JVM statics.

Substitution model: `java.time.Clock` rebinding via `*clock*`.
- Default: `Clock/systemDefaultZone`
- Tests: bind to `Clock/fixed` for deterministic instants
- All `now-*` fns honor the dynamic binding

Provided primitives mirror the subset needed by hive-knowledge,
hive-mcp, and other consumers. Add new fns here, never inline
`java.time.*` in calling code.
raw docstring

hive-ttracking.core

Public API re-exports for hive-ttracking (short alias: tt).

Wave-1 skeleton — implementations live in per-BC namespaces and land in Waves 2-5. See PLAN.md §7.

Primary entry points: tt/track — budget-aware single-branch wrapper tt/track-race — multi-branch racing with partial-progress tt/bench — statistical benchmarking tt/instrument-protocol — defrecord pass-through instrumentation tt/timed-query — lightweight elapsed-ms + row-count telemetry

Public API re-exports for hive-ttracking (short alias: tt).

Wave-1 skeleton — implementations live in per-BC namespaces
and land in Waves 2-5. See PLAN.md §7.

Primary entry points:
  tt/track          — budget-aware single-branch wrapper
  tt/track-race     — multi-branch racing with partial-progress
  tt/bench          — statistical benchmarking
  tt/instrument-protocol — defrecord pass-through instrumentation
  tt/timed-query    — lightweight elapsed-ms + row-count telemetry
raw docstring

hive-ttracking.events

BC-5 Events — pure event builders for the :tt/* namespace + defensive publish wrapper over hive.events/dispatch.

Wave-2: builders + publish. Full router wiring stays in consumers' init. See PLAN.md §2 BC-5.

BC-5 Events — pure event builders for the :tt/* namespace + defensive
publish wrapper over hive.events/dispatch.

Wave-2: builders + publish. Full router wiring stays in consumers'
init. See PLAN.md §2 BC-5.
raw docstring

hive-ttracking.init

IAddon init hook — invoked by hive-di when hive-ttracking is on the classpath and config enables it. Wave-1 skeleton: no-op.

IAddon init hook — invoked by hive-di when hive-ttracking is on the
classpath and config enables it. Wave-1 skeleton: no-op.
raw docstring

hive-ttracking.instrument

BC-6 Instrumentation — defrecord/reify pass-through wrappers for protocols.

OCP-compliant: wrapped code is untouched. Zero call-site rewriting. Wave-1 skeleton. Wave-4 implements protocol reflection + wrapper gen. See PLAN.md §2 BC-6.

BC-6 Instrumentation — defrecord/reify pass-through wrappers for protocols.

OCP-compliant: wrapped code is untouched. Zero call-site rewriting.
Wave-1 skeleton. Wave-4 implements protocol reflection + wrapper gen.
See PLAN.md §2 BC-6.
raw docstring

hive-ttracking.span

BC-3 Spans — span sink abstraction + pure helpers over Span values.

Wave-2: helpers for closing/tagging/hierarchy. Sinks are Wave-3. See PLAN.md §2 BC-3.

BC-3 Spans — span sink abstraction + pure helpers over Span values.

Wave-2: helpers for closing/tagging/hierarchy. Sinks are Wave-3.
See PLAN.md §2 BC-3.
raw docstring

hive-ttracking.track

BC-1 Tracking — span lifecycle + track/track-race macros.

Wave-2: AtomTracker + real track*. Wave-3 fills track-race*. See PLAN.md §2 BC-1.

BC-1 Tracking — span lifecycle + track/track-race macros.

Wave-2: AtomTracker + real track*. Wave-3 fills track-race*.
See PLAN.md §2 BC-1.
raw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close