Documentation
¶
Index ¶
- type AggregateResult
- type EntTokenStore
- func (s *EntTokenStore) Aggregate(ctx context.Context) (*AggregateResult, error)
- func (s *EntTokenStore) Cleanup(ctx context.Context, retentionDays int) (int, error)
- func (s *EntTokenStore) QueryByAgent(ctx context.Context, agentName string) ([]observability.TokenUsage, error)
- func (s *EntTokenStore) QueryBySession(ctx context.Context, sessionKey string) ([]observability.TokenUsage, error)
- func (s *EntTokenStore) QueryByTimeRange(ctx context.Context, from, to time.Time) ([]observability.TokenUsage, error)
- func (s *EntTokenStore) Save(usage observability.TokenUsage) error
- type TokenStore
- type Tracker
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AggregateResult ¶
type AggregateResult struct {
TotalInput int64
TotalOutput int64
TotalTokens int64
RecordCount int
}
AggregateResult holds aggregated token usage data.
type EntTokenStore ¶
type EntTokenStore struct {
// contains filtered or unexported fields
}
EntTokenStore persists token usage data via Ent.
func NewEntTokenStore ¶
func NewEntTokenStore(client *ent.Client) *EntTokenStore
NewEntTokenStore creates a new EntTokenStore.
func (*EntTokenStore) Aggregate ¶
func (s *EntTokenStore) Aggregate(ctx context.Context) (*AggregateResult, error)
Aggregate returns aggregated stats for all records.
func (*EntTokenStore) QueryByAgent ¶
func (s *EntTokenStore) QueryByAgent(ctx context.Context, agentName string) ([]observability.TokenUsage, error)
QueryByAgent returns all token usage records for an agent.
func (*EntTokenStore) QueryBySession ¶
func (s *EntTokenStore) QueryBySession(ctx context.Context, sessionKey string) ([]observability.TokenUsage, error)
QueryBySession returns all token usage records for a session.
func (*EntTokenStore) QueryByTimeRange ¶
func (s *EntTokenStore) QueryByTimeRange(ctx context.Context, from, to time.Time) ([]observability.TokenUsage, error)
QueryByTimeRange returns all token usage records within a time range.
func (*EntTokenStore) Save ¶
func (s *EntTokenStore) Save(usage observability.TokenUsage) error
Save persists a token usage record.
type TokenStore ¶
type TokenStore interface {
Save(usage observability.TokenUsage) error
}
TokenStore is the interface for persistent token usage storage.
type Tracker ¶
type Tracker struct {
// contains filtered or unexported fields
}
Tracker subscribes to TokenUsageEvent and forwards data to the MetricsCollector and optional persistent store.
func NewTracker ¶
func NewTracker(collector *observability.MetricsCollector, store TokenStore) *Tracker
NewTracker creates a new Tracker that records token usage.