Class InMemoryUsageMeter
In-memory usage meter for testing and single-node deployments. Thread-safe via ConcurrentBag<T>.
public sealed class InMemoryUsageMeter : IUsageMeter
- Inheritance
-
InMemoryUsageMeter
- Implements
- Inherited Members
Properties
RecordCount
Total number of recorded turns.
public int RecordCount { get; }
Property Value
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
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
RecordTurnAsync(TurnUsageRecord, CancellationToken)
Records a single agent turn's usage.
public Task RecordTurnAsync(TurnUsageRecord record, CancellationToken ct = default)
Parameters
recordTurnUsageRecordctCancellationToken