MCPcopy Create free account
hub / github.com/ccusage/ccusage / project_block_usage

Function project_block_usage

rust/crates/ccusage/src/blocks.rs:554–569  ·  view source on GitHub ↗
(block: &SessionBlock)

Source from the content-addressed store, hash-verified

552}
553
554fn project_block_usage(block: &SessionBlock) -> Option<Projection> {
555 if !block.is_active || block.is_gap {
556 return None;
557 }
558 let burn = calculate_burn_rate(block)?;
559 let remaining_minutes =
560 (block.end_time.duration_since(utc_now()) as f64 / MILLIS_PER_MINUTE as f64).round();
561 let total_tokens =
562 block.token_counts.total() as f64 + burn.tokens_per_minute * remaining_minutes;
563 let total_cost = block.cost_usd + (burn.cost_per_hour / 60.0) * remaining_minutes;
564 Some(Projection {
565 total_tokens: total_tokens.round() as u64,
566 total_cost: (total_cost * 100.0).round() / 100.0,
567 remaining_minutes: remaining_minutes as u64,
568 })
569}
570
571fn parse_token_limit(value: Option<&str>, max_tokens: u64) -> Option<u64> {
572 match value {

Callers 3

block_jsonFunction · 0.85
print_blocks_tableFunction · 0.85

Calls 4

calculate_burn_rateFunction · 0.85
utc_nowFunction · 0.85
duration_sinceMethod · 0.80
totalMethod · 0.80

Tested by

no test coverage detected