fixes
This commit is contained in:
@@ -2,6 +2,7 @@ package main
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"io"
|
||||
@@ -39,6 +40,9 @@ func createProxy(target *url.URL) func(http.ResponseWriter, *http.Request) {
|
||||
req.URL.Scheme = target.Scheme
|
||||
req.URL.Host = target.Host
|
||||
}
|
||||
data, err := io.ReadAll(r.Body)
|
||||
if err == nil {
|
||||
r.Body = io.NopCloser(bytes.NewReader(data))
|
||||
var jsonData map[string]interface{}
|
||||
json.NewDecoder(r.Body).Decode(&jsonData)
|
||||
|
||||
@@ -49,6 +53,10 @@ func createProxy(target *url.URL) func(http.ResponseWriter, *http.Request) {
|
||||
streamed.Inc()
|
||||
}
|
||||
}
|
||||
} else {
|
||||
fmt.Println("Error reading body:", err)
|
||||
}
|
||||
r.Body = io.NopCloser(bytes.NewReader(data))
|
||||
|
||||
modifyResponse := func(response *http.Response) error {
|
||||
pr, pw := io.Pipe()
|
||||
@@ -89,6 +97,9 @@ func createProxy(target *url.URL) func(http.ResponseWriter, *http.Request) {
|
||||
}
|
||||
|
||||
func handleJsonLine(line []byte) {
|
||||
if len(line) == 0 {
|
||||
return
|
||||
}
|
||||
var jsonData map[string]interface{}
|
||||
err := json.Unmarshal([]byte(line), &jsonData)
|
||||
if err != nil {
|
||||
@@ -100,7 +111,8 @@ func handleJsonLine(line []byte) {
|
||||
duration := jsonData["eval_duration"].(float64) / 1000000000.0
|
||||
fmt.Printf("Duration: %.2f seconds\n", duration)
|
||||
opsProcessed.Inc()
|
||||
tokens_out.Add(jsonData["prompt_eval_count"].(float64))
|
||||
tokens_out.Add(jsonData["eval_count"].(float64))
|
||||
tokens_in.Add(jsonData["prompt_eval_count"].(float64))
|
||||
eval_time.Observe(duration)
|
||||
}
|
||||
}
|
||||
@@ -122,7 +134,10 @@ var tokens_out = promauto.NewCounter(prometheus.CounterOpts{
|
||||
Name: "llmproxymetrics_tokens_out",
|
||||
Help: "Tokens generated.",
|
||||
})
|
||||
|
||||
var tokens_in = promauto.NewCounter(prometheus.CounterOpts{
|
||||
Name: "llmproxymetrics_tokens_in",
|
||||
Help: "Tokens input.",
|
||||
})
|
||||
var eval_time = promauto.NewHistogram(prometheus.HistogramOpts{
|
||||
Name: "llmproxymetrics_eval_time",
|
||||
Help: "Tokens generated.",
|
||||
|
||||
Reference in New Issue
Block a user