MCPcopy Create free account
hub / github.com/coder/aibridge / BenchmarkOpenAI_CreateInterceptor_Responses

Function BenchmarkOpenAI_CreateInterceptor_Responses

provider/openai_test.go:404–445  ·  view source on GitHub ↗
(b *testing.B)

Source from the content-addressed store, hash-verified

402}
403
404func BenchmarkOpenAI_CreateInterceptor_Responses(b *testing.B) {
405 provider := NewOpenAI(config.OpenAI{
406 BaseURL: "https://api.openai.com/v1/",
407 Key: "test-key",
408 })
409
410 tracer := noop.NewTracerProvider().Tracer("test")
411 messagesPerRequest := 50
412 requestCount := 100
413 maxConcurrentRequests := 10
414 // payloadSizes := []int{2000, 10000, 50000, 100000, 2000000}
415 payloadSizes := []int{2000000}
416 for _, payloadSize := range payloadSizes {
417 for _, stream := range []bool{true, false} {
418 payload := generateResponsesPayload(payloadSize, messagesPerRequest, stream)
419 name := fmt.Sprintf("stream=%t/payloadSize=%d/requests=%d", stream, payloadSize, requestCount)
420
421 b.Run(name, func(b *testing.B) {
422 b.ResetTimer()
423 for range b.N {
424 eg := errgroup.Group{}
425 eg.SetLimit(maxConcurrentRequests)
426 for i := 0; i < requestCount; i++ {
427 eg.Go(func() error {
428 req := httptest.NewRequest(http.MethodPost, routeResponses, bytes.NewReader(payload))
429 w := httptest.NewRecorder()
430 interceptor, err := provider.CreateInterceptor(w, req, tracer)
431 if err != nil {
432 return err
433 }
434 err = interceptor.ProcessRequest(w, req)
435 if err != nil {
436 return err
437 }
438 return nil
439 })
440 }
441 }
442 })
443 }
444 }
445}

Callers

nothing calls this directly

Calls 5

CreateInterceptorMethod · 0.95
NewOpenAIFunction · 0.85
generateResponsesPayloadFunction · 0.85
GoMethod · 0.80
ProcessRequestMethod · 0.65

Tested by

no test coverage detected