pub struct TokenUsage {
pub input_tokens: Option<u64>,
pub cached_input_tokens: Option<u64>,
pub cache_write_input_tokens: Option<u64>,
pub output_tokens: Option<u64>,
pub reasoning_output_tokens: Option<u64>,
pub total_tokens: Option<u64>,
}Expand description
Token counts reported on a completed turn.
codex-cli 0.145.0 reports token usage and no monetary cost. Converting
tokens to dollars needs a per-model price table the CLI does not provide,
so this crate does not attempt it: a hardcoded table would go stale
silently, which is the same class of bug as #73.
Every field is optional, and absence is normal rather than exceptional:
observed runs carry five of the six and never total_tokens, which is why
TokenUsage::total falls back to input plus output.
Fields§
§input_tokens: Option<u64>Input tokens for the turn.
cached_input_tokens: Option<u64>Input tokens served from cache.
cache_write_input_tokens: Option<u64>Input tokens written to cache.
output_tokens: Option<u64>Output tokens for the turn.
reasoning_output_tokens: Option<u64>Output tokens spent on reasoning.
total_tokens: Option<u64>Total tokens, if the CLI ever reports one. Observed runs do not.
Implementations§
Trait Implementations§
Source§impl Clone for TokenUsage
impl Clone for TokenUsage
Source§fn clone(&self) -> TokenUsage
fn clone(&self) -> TokenUsage
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for TokenUsage
Source§impl Debug for TokenUsage
impl Debug for TokenUsage
Source§impl Default for TokenUsage
impl Default for TokenUsage
Source§fn default() -> TokenUsage
fn default() -> TokenUsage
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for TokenUsage
impl<'de> Deserialize<'de> for TokenUsage
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for TokenUsage
Source§impl PartialEq for TokenUsage
impl PartialEq for TokenUsage
Source§impl Serialize for TokenUsage
impl Serialize for TokenUsage
impl StructuralPartialEq for TokenUsage
Auto Trait Implementations§
impl Freeze for TokenUsage
impl RefUnwindSafe for TokenUsage
impl Send for TokenUsage
impl Sync for TokenUsage
impl Unpin for TokenUsage
impl UnsafeUnpin for TokenUsage
impl UnwindSafe for TokenUsage
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more