Documentation
¶
Index ¶
- type ClientSession
- type ClientType
- type DateFilter
- type GroupByStrategy
- type Grouper
- type MultiClientTracker
- func (t *MultiClientTracker) FilterByClient(clients []ClientType) []*ClientSession
- func (t *MultiClientTracker) GetAll() []*ClientSession
- func (t *MultiClientTracker) GetByClient(client ClientType) []*ClientSession
- func (t *MultiClientTracker) GetClients() []ClientType
- func (t *MultiClientTracker) Record(client ClientType, sessionID string, tokens int64, cost float64)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ClientSession ¶
type ClientSession struct {
Client ClientType `json:"client"`
SessionID string `json:"session_id"`
Tokens int64 `json:"tokens"`
Cost float64 `json:"cost"`
}
type ClientType ¶
type ClientType string
const ( ClientOpenCode ClientType = "opencode" ClientClaudeCode ClientType = "claude-code" ClientCodex ClientType = "codex" ClientGemini ClientType = "gemini" ClientCursor ClientType = "cursor" ClientAmp ClientType = "amp" ClientDroid ClientType = "droid" ClientOpenClaw ClientType = "openclaw" ClientPi ClientType = "pi" ClientKimi ClientType = "kimi" ClientQwen ClientType = "qwen" ClientRooCode ClientType = "roo-code" ClientKilo ClientType = "kilo" ClientMux ClientType = "mux" ClientCrush ClientType = "crush" ClientSynthetic ClientType = "synthetic" )
func ParseClientType ¶
func ParseClientType(s string) ClientType
type DateFilter ¶
type GroupByStrategy ¶
type GroupByStrategy string
const ( GroupByModel GroupByStrategy = "model" GroupByClientModel GroupByStrategy = "client+model" GroupByClient GroupByStrategy = "client" GroupByDate GroupByStrategy = "date" )
type Grouper ¶
type Grouper struct {
// contains filtered or unexported fields
}
func NewGrouper ¶
func NewGrouper(strategy GroupByStrategy) *Grouper
func (*Grouper) GetStrategy ¶
func (g *Grouper) GetStrategy() GroupByStrategy
func (*Grouper) SetStrategy ¶
func (g *Grouper) SetStrategy(strategy GroupByStrategy)
type MultiClientTracker ¶
type MultiClientTracker struct {
// contains filtered or unexported fields
}
func NewMultiClientTracker ¶
func NewMultiClientTracker() *MultiClientTracker
func (*MultiClientTracker) FilterByClient ¶
func (t *MultiClientTracker) FilterByClient(clients []ClientType) []*ClientSession
func (*MultiClientTracker) GetAll ¶
func (t *MultiClientTracker) GetAll() []*ClientSession
func (*MultiClientTracker) GetByClient ¶
func (t *MultiClientTracker) GetByClient(client ClientType) []*ClientSession
func (*MultiClientTracker) GetClients ¶
func (t *MultiClientTracker) GetClients() []ClientType
func (*MultiClientTracker) Record ¶
func (t *MultiClientTracker) Record(client ClientType, sessionID string, tokens int64, cost float64)
Click to show internal directories.
Click to hide internal directories.