Documentation
¶
Index ¶
- type Store
- func (s *Store) AggregatedUsage(tenantID string, start, end int64) ([]Summary, error)
- func (s *Store) AutoMigrate() error
- func (s *Store) CreateUsage(usage ...*Usage) error
- func (s *Store) DeleteUsage(timestamp int64, limit int) (int64, error)
- func (s *Store) FindUsages() ([]*Usage, error)
- func (s *Store) GetUsagesByGroups(tenantID string, start, end int64) ([]*UsageByGroup, error)
- type Summary
- type Usage
- type UsageByGroup
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Store ¶
type Store struct {
// contains filtered or unexported fields
}
Store represents the data store.
func (*Store) AggregatedUsage ¶ added in v0.10.0
AggregatedUsage returns the aggregated usage data for the given tenant and time range.
func (*Store) AutoMigrate ¶
AutoMigrate sets up the auto-migration task of the database.
func (*Store) CreateUsage ¶
CreateUsage creates a new usage.
func (*Store) DeleteUsage ¶ added in v1.3.0
DeleteUsage deletes a usage.
func (*Store) FindUsages ¶ added in v1.3.0
FindUsages returns the usages. This is used for testing.
func (*Store) GetUsagesByGroups ¶ added in v1.3.0
func (s *Store) GetUsagesByGroups(tenantID string, start, end int64) ([]*UsageByGroup, error)
GetUsagesByGroups returns the aggregated usage data by groups for the given tenant and time range.
type Summary ¶ added in v0.10.0
type Summary struct {
APIMethod string
TotalRequests int64
SuccessRequests int64
FailureRequests int64
AverageLatency float64
}
Summary is a struct that represents the summary of the usage data.
type Usage ¶
type Usage struct {
gorm.Model
UserID string `gorm:"uniqueIndex:idx_user_ts"`
Tenant string
Organization string
Project string
APIKeyID string
APIMethod string
StatusCode int32
Timestamp int64 `gorm:"uniqueIndex:idx_user_ts"`
LatencyMS int32
// The following fields are used for chat completions and completions.
// TODO(kenji): Move these fields to a separate table if needed.
ModelID string
TimeToFirstTokenMS int32
PromptTokens int32
CompletionTokens int32
}
Usage represents a API usage.
type UsageByGroup ¶ added in v1.3.0
type UsageByGroup struct {
APIKeyID string
UserID string
ModelID string
TotalRequests int64
TotalPromptTokens int64
TotalCompletionTokens int64
AverageLatency float64
AverageTimeToFirstToken float64
}
UsageByGroup represents the aggregated usage data grouped by API key, user, and model.
Click to show internal directories.
Click to hide internal directories.