| package model |
|
|
| import "time" |
|
|
| |
| type MetricPoint struct { |
| Ts time.Time `json:"ts"` |
| Success int `json:"success"` |
| Error int `json:"error"` |
| AvgFirstByteTimeSeconds *float64 `json:"avg_first_byte_time_seconds,omitempty"` |
| AvgDurationSeconds *float64 `json:"avg_duration_seconds,omitempty"` |
| TotalCost *float64 `json:"total_cost,omitempty"` |
| EffectiveCost *float64 `json:"effective_cost,omitempty"` |
| FirstByteSampleCount int `json:"first_byte_count,omitempty"` |
| DurationSampleCount int `json:"duration_count,omitempty"` |
| InputTokens int64 `json:"input_tokens,omitempty"` |
| OutputTokens int64 `json:"output_tokens,omitempty"` |
| CacheReadTokens int64 `json:"cache_read_tokens,omitempty"` |
| CacheCreationTokens int64 `json:"cache_creation_tokens,omitempty"` |
| Channels map[string]ChannelMetric `json:"channels,omitempty"` |
| } |
|
|
| |
| type ChannelMetric struct { |
| Success int `json:"success"` |
| Error int `json:"error"` |
| AvgFirstByteTimeSeconds *float64 `json:"avg_first_byte_time_seconds,omitempty"` |
| AvgDurationSeconds *float64 `json:"avg_duration_seconds,omitempty"` |
| TotalCost *float64 `json:"total_cost,omitempty"` |
| EffectiveCost *float64 `json:"effective_cost,omitempty"` |
| InputTokens int64 `json:"input_tokens,omitempty"` |
| OutputTokens int64 `json:"output_tokens,omitempty"` |
| CacheReadTokens int64 `json:"cache_read_tokens,omitempty"` |
| CacheCreationTokens int64 `json:"cache_creation_tokens,omitempty"` |
| } |
|
|
| |
| type HealthPoint struct { |
| Ts time.Time `json:"ts"` |
| SuccessRate float64 `json:"rate"` |
| SuccessCount int `json:"success"` |
| ErrorCount int `json:"error"` |
| AvgFirstByteTime float64 `json:"avg_first_byte_time"` |
| AvgDuration float64 `json:"avg_duration"` |
| TotalInputTokens int64 `json:"input_tokens"` |
| TotalOutputTokens int64 `json:"output_tokens"` |
| TotalCacheReadTokens int64 `json:"cache_read_tokens"` |
| TotalCacheCreationTokens int64 `json:"cache_creation_tokens"` |
| TotalCost float64 `json:"cost"` |
| EffectiveCost float64 `json:"effective_cost"` |
| } |
|
|
| |
| type StatsEntry struct { |
| ChannelID *int `json:"channel_id,omitempty"` |
| ChannelName string `json:"channel_name"` |
| ChannelPriority *int `json:"channel_priority,omitempty"` |
| ChannelType string `json:"channel_type,omitempty"` |
| CostMultiplier *float64 `json:"cost_multiplier,omitempty"` |
| Model string `json:"model"` |
| Success int `json:"success"` |
| Error int `json:"error"` |
| Total int `json:"total"` |
| AvgFirstByteTimeSeconds *float64 `json:"avg_first_byte_time_seconds,omitempty"` |
| AvgDurationSeconds *float64 `json:"avg_duration_seconds,omitempty"` |
| LastSuccessAt *int64 `json:"last_success_at,omitempty"` |
| LastSuccessID *int64 `json:"last_success_id,omitempty"` |
| LastRequestAt *int64 `json:"last_request_at,omitempty"` |
| LastRequestID *int64 `json:"last_request_id,omitempty"` |
| LastRequestStatus *int `json:"last_request_status,omitempty"` |
| LastRequestMessage string `json:"last_request_message,omitempty"` |
|
|
| |
| PeakRPM *float64 `json:"peak_rpm,omitempty"` |
| AvgRPM *float64 `json:"avg_rpm,omitempty"` |
| RecentRPM *float64 `json:"recent_rpm,omitempty"` |
|
|
| |
| TotalInputTokens *int64 `json:"total_input_tokens,omitempty"` |
| TotalOutputTokens *int64 `json:"total_output_tokens,omitempty"` |
| TotalCacheReadInputTokens *int64 `json:"total_cache_read_input_tokens,omitempty"` |
| TotalCacheCreationInputTokens *int64 `json:"total_cache_creation_input_tokens,omitempty"` |
| TotalCost *float64 `json:"total_cost,omitempty"` |
| EffectiveCost *float64 `json:"effective_cost,omitempty"` |
|
|
| |
| HealthTimeline []HealthPoint `json:"health_timeline,omitempty"` |
| } |
|
|
| |
| type RPMStats struct { |
| PeakRPM float64 `json:"peak_rpm"` |
| PeakQPS float64 `json:"peak_qps"` |
| AvgRPM float64 `json:"avg_rpm"` |
| AvgQPS float64 `json:"avg_qps"` |
| RecentRPM float64 `json:"recent_rpm"` |
| RecentQPS float64 `json:"recent_qps"` |
| } |
|
|
| |
| type HealthTimelineParams struct { |
| SinceMs int64 |
| UntilMs int64 |
| BucketMs int64 |
| Filter *LogFilter |
| } |
|
|
| |
| type HealthTimelineRow struct { |
| BucketTs int64 |
| ChannelID int |
| Model string |
| Success int |
| ErrorCount int |
| AvgFirstByteTime float64 |
| AvgDuration float64 |
| InputTokens int64 |
| OutputTokens int64 |
| CacheReadTokens int64 |
| CacheCreationTokens int64 |
| TotalCost float64 |
| EffectiveCost float64 |
| } |
|
|
| |
| type ChannelNameID struct { |
| ID int64 `json:"id"` |
| Name string `json:"name"` |
| } |
|
|