Module metering

Module metering 

Source
Expand description

Cost tracking and usage metering for LLM requests.

This module provides usage tracking, cost calculation, and metering infrastructure for monitoring LLM API usage across providers and tenants.

§Example

use llmkit::{MeteringProvider, InMemoryMeteringSink};

let sink = Arc::new(InMemoryMeteringSink::new());
let provider = MeteringProvider::new(anthropic_provider, sink.clone())
    .with_tenant("acme-corp");

// Make requests...

// Query usage
let usage = sink.query(UsageFilter {
    tenant_id: Some("acme-corp".into()),
    since: Some(Utc::now() - Duration::days(7)),
    ..Default::default()
}).await?;

Structs§

CostTracker
Simple cost tracker that just accumulates totals.
InMemoryMeteringSink
In-memory metering sink for development and testing.
MeteringProvider
Provider wrapper that records usage metrics.
ModelStats
Statistics for a specific model.
TenantStats
Statistics for a specific tenant.
UsageFilter
Filter for querying usage records.
UsageRecord
Usage record for a single request.
UsageStats
Aggregated usage statistics.

Traits§

MeteringSink
Trait for metering sinks that persist usage data.