Files
orca/server/src/core/metrics.go
Zheng Kai 8e72c62281 up
2023-03-31 10:12:18 +08:00

33 lines
488 B
Go

package core
import (
"encoding/json"
"net/http"
"project/metrics"
"project/pb"
"project/util"
)
func doMetrics(ab []byte, cached bool, r *http.Request) {
metrics.RspBytes(len(ab))
o := &pb.Rsp{}
json.Unmarshal(ab, o)
u := o.GetUsage()
if u == nil {
metrics.RspJSONFail()
return
}
metrics.RspToken(u.PromptTokens, u.TotalTokens, cached)
ip, err := util.GetIP(r)
sip := ip.String()
if err != nil {
sip = `unknown`
}
metrics.RspTokenByIP(sip, u.TotalTokens)
}