19 lines
735 B
Go
19 lines
735 B
Go
package perfmetrics
|
|
|
|
import (
|
|
"github.com/stretchr/testify/require"
|
|
"testing"
|
|
)
|
|
|
|
func TestGroupBucketsWeightRequestsAndTtftSamples(t *testing.T) {
|
|
merged := map[bucketKey]counters{}
|
|
key := bucketKey{group: "test", bucketTs: 100}
|
|
mergeCounters(merged, key, bucketPoint(100, counters{requestCount: 1, successCount: 0}).totals)
|
|
mergeCounters(merged, key, bucketPoint(100, counters{requestCount: 9, successCount: 9, ttftSumMs: 9000, ttftCount: 3, outputTokens: 100, generationMs: 2000}).totals)
|
|
result := buildQueryResult("", merged)
|
|
require.Len(t, result.Groups, 1)
|
|
require.Equal(t, 90.0, result.Groups[0].SuccessRate)
|
|
require.Equal(t, int64(3000), result.Groups[0].AvgTtftMs)
|
|
require.Equal(t, 50.0, result.Groups[0].AvgTps)
|
|
}
|