- Add token and performance metrics for v1/chat/completions - Add Activity Page in UI - Add /api/metrics endpoint Contributed by @g2mt
51 lines
949 B
Go
51 lines
949 B
Go
package proxy
|
|
|
|
// package level registry of the different event types
|
|
|
|
const ProcessStateChangeEventID = 0x01
|
|
const ChatCompletionStatsEventID = 0x02
|
|
const ConfigFileChangedEventID = 0x03
|
|
const LogDataEventID = 0x04
|
|
const TokenMetricsEventID = 0x05
|
|
|
|
type ProcessStateChangeEvent struct {
|
|
ProcessName string
|
|
NewState ProcessState
|
|
OldState ProcessState
|
|
}
|
|
|
|
func (e ProcessStateChangeEvent) Type() uint32 {
|
|
return ProcessStateChangeEventID
|
|
}
|
|
|
|
type ChatCompletionStats struct {
|
|
TokensGenerated int
|
|
}
|
|
|
|
func (e ChatCompletionStats) Type() uint32 {
|
|
return ChatCompletionStatsEventID
|
|
}
|
|
|
|
type ReloadingState int
|
|
|
|
const (
|
|
ReloadingStateStart ReloadingState = iota
|
|
ReloadingStateEnd
|
|
)
|
|
|
|
type ConfigFileChangedEvent struct {
|
|
ReloadingState ReloadingState
|
|
}
|
|
|
|
func (e ConfigFileChangedEvent) Type() uint32 {
|
|
return ConfigFileChangedEventID
|
|
}
|
|
|
|
type LogDataEvent struct {
|
|
Data []byte
|
|
}
|
|
|
|
func (e LogDataEvent) Type() uint32 {
|
|
return LogDataEventID
|
|
}
|