# jackin-usage (https://jackin.tailrocks.com/reference/crates/jackin-usage/)



{/* GENERATED from crates/jackin-usage/README.md — edit the README, not this file */}

Usage, pricing, telemetry, and token monitors for the `jackin-capsule` daemon. Owns the in-capsule accounting of agent token spend/cost and the telemetry store that persists it.

## What this crate owns [#what-this-crate-owns]

* Token monitoring (`token_monitor`) and usage accounting (`usage`) for running agents.
* Telemetry emission + store (`telemetry`, `telemetry_store`, `logging`) — the capsule-side observability tier.
* Usage output shaping (`output`). (`clog!`/`cdebug!` logging infrastructure is re-exported from `jackin-diagnostics`.)

## Architecture tier and allowed dependencies [#architecture-tier-and-allowed-dependencies]

**Infrastructure** (capsule-side observability/accounting). Allowed inward dependencies: `jackin-core`, `jackin-protocol`, `jackin-diagnostics`. No dependency on `jackin-capsule` (would be circular), `jackin-tui`, `jackin-console`, or any presentation crate. Logging infrastructure (`logging`, `clog!`, `cdebug!`) lives here so both binaries share one tier.

## Structure [#structure]

| Module                                                                                                                                                                                  | Owns                                    | Tests                                                                                   |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------- | --------------------------------------------------------------------------------------- |
| <RepoFile path="crates/jackin-usage/src/lib.rs">`lib.rs`</RepoFile>                                                                                                                     | crate root, re-exports                  | —                                                                                       |
| <RepoFile path="crates/jackin-usage/src/token_monitor.rs">`token_monitor.rs`</RepoFile> · <RepoFile path="crates/jackin-usage/src/token_monitor.rs">`token_monitor/`</RepoFile>         | token spend monitoring                  | <RepoFile path="crates/jackin-usage/src/token_monitor/tests.rs">`tests.rs`</RepoFile>   |
| <RepoFile path="crates/jackin-usage/src/usage.rs">`usage.rs`</RepoFile> · <RepoFile path="crates/jackin-usage/src/usage.rs">`usage/`</RepoFile>                                         | usage/pricing accounting                | <RepoFile path="crates/jackin-usage/src/usage/tests.rs">`tests.rs`</RepoFile>           |
| <RepoFile path="crates/jackin-usage/src/telemetry.rs">`telemetry.rs`</RepoFile>                                                                                                         | telemetry emission                      | —                                                                                       |
| <RepoFile path="crates/jackin-usage/src/telemetry_store.rs">`telemetry_store.rs`</RepoFile> · <RepoFile path="crates/jackin-usage/src/telemetry_store.rs">`telemetry_store/`</RepoFile> | persistent telemetry store              | <RepoFile path="crates/jackin-usage/src/telemetry_store/tests.rs">`tests.rs`</RepoFile> |
| <RepoFile path="crates/jackin-usage/src/store_backend.rs">`store_backend.rs`</RepoFile>                                                                                                 | turso SQLite import chokepoint          | —                                                                                       |
| <RepoFile path="crates/jackin-usage/src/logging.rs">`logging.rs`</RepoFile> · <RepoFile path="crates/jackin-usage/src/logging.rs">`logging/`</RepoFile>                                 | shared logging tier (`clog!`/`cdebug!`) | <RepoFile path="crates/jackin-usage/src/logging/tests.rs">`tests.rs`</RepoFile>         |
| <RepoFile path="crates/jackin-usage/src/output.rs">`output.rs`</RepoFile>                                                                                                               | usage output shaping                    | —                                                                                       |

## Public API [#public-api]

Token-monitor + usage-accounting types consumed by `jackin-capsule`; the shared `clog!`/`cdebug!` logging tier re-exported across the workspace. Avoid cloning full usage views during account materialization — serialize from borrowed views/iterators (tracked perf item).

## How to verify [#how-to-verify]

```sh
cargo nextest run -p jackin-usage
cargo clippy -p jackin-usage --all-targets -- -D warnings
```
