Optional storage I/O statistics for Datahike deployments.
The S3 storage backend used by EACL's demos carries its own opt-in
operation counters (konserve-s3.core/set-global-io-stats! and
io-stats-summary). This namespace exposes them without a dependency:
the functions are resolved at call time and, when absent, the body runs
unchanged and storage statistics are reported as :unavailable. The
global accumulator is not reentrant, so wrap one probe at a time. EACL
never calls this on a production request path.
Optional storage I/O statistics for Datahike deployments. The S3 storage backend used by EACL's demos carries its own opt-in operation counters (`konserve-s3.core/set-global-io-stats!` and `io-stats-summary`). This namespace exposes them without a dependency: the functions are resolved at call time and, when absent, the body runs unchanged and storage statistics are reported as `:unavailable`. The global accumulator is not reentrant, so wrap one probe at a time. EACL never calls this on a production request path.
(call-with-storage-io-stats f)Runs f and returns {:value (f) :storage-io summary} where summary
maps each storage operation to its count and latency percentiles, or
{:value (f) :storage-io :unavailable} when the backend statistics are
absent from the classpath.
Runs `f` and returns `{:value (f) :storage-io summary}` where `summary`
maps each storage operation to its count and latency percentiles, or
`{:value (f) :storage-io :unavailable}` when the backend statistics are
absent from the classpath.(storage-io-stats-available?)True when the S3 storage backend's I/O statistics can be captured.
True when the S3 storage backend's I/O statistics can be captured.
(with-storage-io-stats & body)Evaluates body under call-with-storage-io-stats.
Evaluates `body` under `call-with-storage-io-stats`.
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 |