Documentation
¶
Index ¶
- Constants
- func DBPath(configPath string) string
- type CommandRecord
- type CommandStats
- type DayStats
- type PeriodStats
- type Summary
- type TimedExecution
- type Tracker
- func (t *Tracker) Close() error
- func (t *Tracker) GetByCommand(ctx context.Context, limit int) ([]CommandStats, error)
- func (t *Tracker) GetDaily(ctx context.Context, days int) ([]DayStats, error)
- func (t *Tracker) GetMonthly(ctx context.Context, months int) ([]PeriodStats, error)
- func (t *Tracker) GetRecent(ctx context.Context, n int) ([]CommandRecord, error)
- func (t *Tracker) GetSummary(ctx context.Context) (*Summary, error)
- func (t *Tracker) GetWeekly(ctx context.Context, weeks int) ([]PeriodStats, error)
- func (t *Tracker) Track(ctx context.Context, originalCmd, scouterCmd string, ...) error
- func (t *Tracker) TrackPassthrough(ctx context.Context, cmd string, tokens int, execTimeMs int64) error
- func (t *Tracker) Wait()
- func (t *Tracker) WarmUp(ctx context.Context)
Constants ¶
const DriverAvailable = true
DriverAvailable indicates whether the SQLite driver is compiled in.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type CommandRecord ¶
type CommandRecord struct {
OriginalCmd string
ScouterCmd string
InputTokens int
OutputTokens int
SavedTokens int
SavingsPct float64
ExecTimeMs int64
Timestamp string
}
CommandRecord holds a single tracked command.
type CommandStats ¶
type CommandStats struct {
Command string
Count int
InputTokens int
OutputTokens int
SavedTokens int
AvgSavings float64
}
CommandStats holds aggregate stats per command.
type DayStats ¶
type DayStats struct {
Day string
Commands int
InputTokens int
OutputTokens int
SavedTokens int
AvgSavings float64
}
DayStats holds daily tracking stats.
type PeriodStats ¶
type PeriodStats struct {
Period string
Commands int
InputTokens int
OutputTokens int
SavedTokens int
AvgSavings float64
}
PeriodStats holds aggregate stats for a time period (week or month).
type TimedExecution ¶
type TimedExecution struct {
// contains filtered or unexported fields
}
TimedExecution tracks execution duration and delegates to Tracker.
func (*TimedExecution) Track ¶
func (te *TimedExecution) Track(ctx context.Context, originalCmd, scouterCmd string, inputTokens, outputTokens int) error
Track records a filtered command with elapsed duration.
func (*TimedExecution) TrackPassthrough ¶
TrackPassthrough records a passthrough command with elapsed duration.
type Tracker ¶
type Tracker struct {
// contains filtered or unexported fields
}
Tracker manages token savings tracking in SQLite.
func NewLazyTracker ¶
NewLazyTracker creates a tracker that defers DB opening until first use.
func NewTracker ¶
NewTracker opens or creates a SQLite database for tracking (immediate open).
func (*Tracker) GetByCommand ¶
GetByCommand returns top N commands by tokens saved.
func (*Tracker) GetMonthly ¶
GetMonthly returns monthly stats for the last N months.
func (*Tracker) GetSummary ¶
GetSummary returns aggregate tracking stats.
func (*Tracker) Track ¶
func (t *Tracker) Track(ctx context.Context, originalCmd, scouterCmd string, inputTokens, outputTokens int, execTimeMs int64) error
Track records a filtered command execution.
func (*Tracker) TrackPassthrough ¶
func (t *Tracker) TrackPassthrough(ctx context.Context, cmd string, tokens int, execTimeMs int64) error
TrackPassthrough records a passthrough (unfiltered) command.