MCPcopy Create free account
hub / github.com/coder/coder / sendNextTurn

Method sendNextTurn

scaletest/chat/run.go:318–338  ·  view source on GitHub ↗
(ctx context.Context, chatID uuid.UUID, logger slog.Logger, nextTurn int, phase string)

Source from the content-addressed store, hash-verified

316}
317
318func (r *Runner) sendNextTurn(ctx context.Context, chatID uuid.UUID, logger slog.Logger, nextTurn int, phase string) error {
319 messageStartedAt := time.Now()
320 modelConfigID := r.cfg.ModelConfigID
321 _, err := r.client.CreateChatMessage(ctx, chatID, codersdk.CreateChatMessageRequest{
322 Content: []codersdk.ChatInputPart{{
323 Type: codersdk.ChatInputPartTypeText,
324 Text: r.cfg.Prompt,
325 }},
326 ModelConfigID: &modelConfigID,
327 })
328 if err != nil {
329 return xerrors.Errorf("create chat message for turn %d: %w", nextTurn, err)
330 }
331
332 r.cfg.Metrics.ChatMessageLatencySeconds.WithLabelValues(phase).Observe(time.Since(messageStartedAt).Seconds())
333 logger.Info(ctx, "chat sent message",
334 slog.F("turn", nextTurn),
335 slog.F("turns", r.cfg.Turns),
336 )
337 return nil
338}
339
340func (r *Runner) handleMessagePartEvent(ctx context.Context, logger slog.Logger) {
341 if r.sawTurnFirstOutput {

Callers 1

handleStatusEventMethod · 0.95

Calls 4

WithLabelValuesMethod · 0.80
CreateChatMessageMethod · 0.65
ErrorfMethod · 0.45
InfoMethod · 0.45

Tested by

no test coverage detected