Interface IUsageMeter
Centralized usage metering service for tracking token consumption, cost estimation, and budget enforcement across all providers.
public interface IUsageMeter
Methods
CheckBudgetAsync(BudgetPeriod, CancellationToken)
Checks current budget status against configured limits.
Task<BudgetStatus> CheckBudgetAsync(BudgetPeriod period = BudgetPeriod.Monthly, CancellationToken ct = default)
Parameters
periodBudgetPeriodctCancellationToken
Returns
ExportAsync(UsageExportFormat, DateTimeOffset?, DateTimeOffset?, CancellationToken)
Exports usage data in the specified format.
Task<string> ExportAsync(UsageExportFormat format, DateTimeOffset? from = null, DateTimeOffset? until = null, CancellationToken ct = default)
Parameters
formatUsageExportFormatfromDateTimeOffset?untilDateTimeOffset?ctCancellationToken
Returns
GetPeriodUsageAsync(DateTimeOffset, DateTimeOffset, CancellationToken)
Gets aggregated usage for a time period.
Task<UsageSummary> GetPeriodUsageAsync(DateTimeOffset from, DateTimeOffset until, CancellationToken ct = default)
Parameters
fromDateTimeOffsetuntilDateTimeOffsetctCancellationToken
Returns
GetProjectUsageAsync(string, CancellationToken)
Gets aggregated usage for a project path.
Task<UsageSummary> GetProjectUsageAsync(string projectPath, CancellationToken ct = default)
Parameters
projectPathstringctCancellationToken
Returns
GetSessionUsageAsync(string, CancellationToken)
Gets aggregated usage for a session.
Task<UsageSummary> GetSessionUsageAsync(string sessionId, CancellationToken ct = default)
Parameters
sessionIdstringctCancellationToken
Returns
GetTotalUsageAsync(CancellationToken)
Gets total lifetime usage.
Task<UsageSummary> GetTotalUsageAsync(CancellationToken ct = default)
Parameters
Returns
RecordTurnAsync(TurnUsageRecord, CancellationToken)
Records a single agent turn's usage.
Task RecordTurnAsync(TurnUsageRecord record, CancellationToken ct = default)
Parameters
recordTurnUsageRecordctCancellationToken