Class SqliteUsageMeter
SQLite-backed usage metering service. Stores turn-level usage records in a dedicated usage.db and provides aggregation queries.
public sealed class SqliteUsageMeter : IUsageMeter, IAsyncDisposable
- Inheritance
-
SqliteUsageMeter
- Implements
- Inherited Members
Constructors
SqliteUsageMeter(string, CostRateProvider?, BudgetConfig?)
public SqliteUsageMeter(string dbPath, CostRateProvider? costRates = null, BudgetConfig? budget = null)
Parameters
dbPathstringcostRatesCostRateProviderbudgetBudgetConfig
Methods
CheckBudgetAsync(BudgetPeriod, CancellationToken)
Checks current budget status against configured limits.
public Task<BudgetStatus> CheckBudgetAsync(BudgetPeriod period = BudgetPeriod.Monthly, CancellationToken ct = default)
Parameters
periodBudgetPeriodctCancellationToken
Returns
DisposeAsync()
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources asynchronously.
public ValueTask DisposeAsync()
Returns
- ValueTask
A task that represents the asynchronous dispose operation.
ExportAsync(UsageExportFormat, DateTimeOffset?, DateTimeOffset?, CancellationToken)
Exports usage data in the specified format.
public 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.
public Task<UsageSummary> GetPeriodUsageAsync(DateTimeOffset from, DateTimeOffset until, CancellationToken ct = default)
Parameters
fromDateTimeOffsetuntilDateTimeOffsetctCancellationToken
Returns
GetProjectUsageAsync(string, CancellationToken)
Gets aggregated usage for a project path.
public Task<UsageSummary> GetProjectUsageAsync(string projectPath, CancellationToken ct = default)
Parameters
projectPathstringctCancellationToken
Returns
GetSessionUsageAsync(string, CancellationToken)
Gets aggregated usage for a session.
public Task<UsageSummary> GetSessionUsageAsync(string sessionId, CancellationToken ct = default)
Parameters
sessionIdstringctCancellationToken
Returns
GetTotalUsageAsync(CancellationToken)
Gets total lifetime usage.
public Task<UsageSummary> GetTotalUsageAsync(CancellationToken ct = default)
Parameters
Returns
InitializeAsync(CancellationToken)
public Task InitializeAsync(CancellationToken ct = default)
Parameters
Returns
RecordTurnAsync(TurnUsageRecord, CancellationToken)
Records a single agent turn's usage.
public Task RecordTurnAsync(TurnUsageRecord record, CancellationToken ct = default)
Parameters
recordTurnUsageRecordctCancellationToken