Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

[bot] Groq Batch API (`client.batches`) is not instrumented

Ouverte
#2,686 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
45/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
Active
Stack technique
typescript

Piste de recherche

Start in js/src/instrumentation/plugins/groq-plugin.ts by reading GroqPlugin.onEnable() and the existing synchronous channels, then compare with groq-interceptors.ts to see how channel handlers create spans. Read js/src/wrappers/groq.ts around groqProxy() to confirm where client.batches currently falls through unwrapped, and model batch types in js/src/vendor-sdk-types/groq.ts. Done means batches.create, batches.retrieve, and result retrieval via files.content produce spans consistent with existing Groq instrumentation, with tests covering the lifecycle.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Summary

Groq's official SDK exposes a documented Batch API (groq.batches.create()/.retrieve(), plus groq.files.content() for results) for submitting async chat-completion, audio-transcription, and audio-translation jobs with a configurable completion window. This repo instruments every one of Groq's synchronous execution surfaces (chat, embeddings, audio speech/transcription/translation) but has zero coverage of the batch lifecycle.

What's missing

  • js/src/instrumentation/plugins/groq-plugin.ts — GroqPlugin.onEnable() (lines 37-172) subscribes to exactly five channels: chatCompletionsCreate, embeddingsCreate, audioSpeechCreate, audioTranscriptionsCreate, audioTranslationsCreate. No batch-related channel exists in the file.
  • js/src/instrumentation/plugins/groq-interceptors.ts — grepped for batch/Batch (case-insensitive): zero matches. No groqChannels.batch* exists.
  • js/src/vendor-sdk-types/groq.ts — grepped for batch/Batch (case-insensitive): zero matches. No GroqBatch/GroqBatchJob type is modeled anywhere.
  • js/src/wrappers/groq.ts — wrapGroq()/groqProxy() (lines 74-205) proxies only chat.completions, embeddings, and audio.{speech,transcriptions,translations} (lines 80-167). A client's batches property is returned unwrapped through the top-level proxy's generic function-binding fallback (lines 169-201), so client.batches.create(...) produces no span: no submission span, no status/polling span, no per-request result spans.

This means a customer submitting client.batches.create({ endpoint: "/v1/chat/completions", completion_window: "24h", input_file_id }) — a fully supported, documented Groq API call — gets no trace in Braintrust whatsoever, while the same customer's synchronous chat.completions.create calls are fully traced with input, output, and token/timing metrics.

Braintrust docs status

not_found. https://www.braintrust.dev/docs/providers/groq documents only synchronous spans: "Chat completion spans... Embedding spans... Audio speech spans... Audio transcription spans... Audio translation spans," plus streaming and time_to_first_token behavior. No batch/async-job tracing is mentioned anywhere on the page.

Upstream sources

  • https://console.groq.com/docs/batch — Batch API guide: groq.batches.create() requires endpoint, completion_window ("24h" through "7d"), and input_file_id; supported endpoints are /v1/chat/completions, /v1/audio/transcriptions, /v1/audio/translations; status via groq.batches.retrieve(); results retrieved via groq.files.content(output_file_id).

Braintrust docs sources checked

Local repo files inspected

  • js/src/instrumentation/plugins/groq-plugin.ts — GroqPlugin.onEnable() (lines 37-172), full enumerated channel list
  • js/src/instrumentation/plugins/groq-interceptors.ts — grepped for batch/Batch, zero matches
  • js/src/vendor-sdk-types/groq.ts — grepped for batch/Batch, zero matches
  • js/src/wrappers/groq.ts — groqProxy() (lines 74-205), proxy coverage limited to chat.completions/embeddings/audio.*
Langage dominant
TypeScript
Étoiles
29
Forks
21
Merge moyen
1 j 15 h
PR mergées (30 j)
76

Préparer son environnement

  • Fournit un Dockerfile ou un fichier Docker Compose
  • Aucun modèle de pull request
  • Aucun guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de braintrustdata/braintrust-sdk-javascript

Toutes les issues de braintrustdata/braintrust-sdk-javascript

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.