[bot] Azure AI Inference SDK (`@azure-rest/ai-inference`) not instrumented — no tracing for Azure AI Foundry model execution (63,908 weekly downloads)
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 55/100
- Type d'issue
- Fonctionnalité
- Clarté
- Plutôt claire
- Activité
- Active
- Stack technique
- azure, typescript
- Domaine
- ai, backend-api-design, observability-sre
Piste de recherche
Commencez par lire les configurations existantes dans js/src/auto-instrumentations/configs/, en particulier openai.ts, ainsi que l’enregistrement dans js/src/auto-instrumentations/configs/all.ts. Examinez ensuite e2e/scenarios/ et les surfaces Azure SDK indiquées ; le travail est terminé lorsque les chat completions, le streaming et les embeddings via @azure-rest/ai-inference bénéficient d’une couverture de tracing avec des tests.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Summary
Microsoft publishes a dedicated TypeScript SDK for Azure AI model inference: @azure-rest/ai-inference (part of the Azure SDK for JavaScript). It provides execution APIs for chat completions, streaming, and embeddings for models hosted on Azure AI Foundry (Phi, Mistral, Meta Llama, and others). This package uses a path-based REST client pattern that is architecturally distinct from the openai npm package and is not covered by any existing instrumentation. Users who call @azure-rest/ai-inference directly get no Braintrust spans.
What instrumentation is missing
The @azure-rest/ai-inference package exposes these execution surfaces, none of which are instrumented:
| SDK Method | Description |
|---|---|
client.path("/chat/completions").post({ body: { messages, ... } }) |
Chat completions for hosted models |
.post({ body: { ..., stream: true } }).asNodeStream() |
Streaming chat completions |
client.path("/embeddings").post({ body: { input, model } }) |
Text embeddings |
Users instantiate it as:
import ModelClient from "@azure-rest/ai-inference";
import { AzureKeyCredential } from "@azure/core-auth";
const client = ModelClient(endpoint, new AzureKeyCredential(apiKey));
const response = await client.path("/chat/completions").post({
body: {
messages: [{ role: "user", content: "Hello" }],
model: "Phi-4",
},
});
Auto-instrumentation gap:
The @azure-rest/ai-inference SDK uses a path-based REST client architecture (from @azure/core-rest-pipeline) that is fundamentally different from the openai package's class-method structure. None of the existing configs in js/src/auto-instrumentations/configs/ target any @azure-rest/* module paths. The existing openai instrumentation targets openai module file paths and does not fire for calls made through @azure-rest/ai-inference.
No coverage in any instrumentation layer:
- No auto-instrumentation config for
@azure-rest/ai-inferenceinjs/src/auto-instrumentations/configs/ - No wrapper function (e.g.
wrapAzureAIInference()) - No channels or plugin for Azure AI Inference methods in
js/src/instrumentation/plugins/ - No e2e test scenarios
- Grep for
azure-rest,@azure, orai-inferenceacrossjs/src/returns zero matches
Braintrust docs status
unclear — The Braintrust integrations page at https://www.braintrust.dev/docs/integrations lists "Azure AI Foundry" as a supported provider, but the JavaScript SDK documentation does not describe any direct instrumentation for the @azure-rest/ai-inference package.
Upstream references
@azure-rest/ai-inferencesource: https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/ai/ai-inference-rest- npm install:
npm install @azure-rest/ai-inference
Local files inspected
js/src/auto-instrumentations/configs/— full config list:anthropic.ts,openai.ts,ai-sdk.ts,groq.ts,mistral.ts,cohere.ts,huggingface.ts,google-genai.ts,google-adk.ts,genkit.ts,openai-agents.ts,openrouter.ts,openrouter-agent.ts,claude-agent-sdk.ts,cursor-sdk.ts,github-copilot.ts,openai-codex.ts,flue.ts— no Azure AI Inference config presentjs/src/auto-instrumentations/configs/all.ts—@azure-rest/ai-inferencenot listed among any instrumentation groups- Full repo grep for
azure-rest,@azure,ai-inferenceinjs/src/— zero matches e2e/scenarios/— no Azure AI Inference test scenarios
- Langage dominant
- TypeScript
- Étoiles
- 29
- Forks
- 16
- Merge moyen
- 1 j 22 h
- PR mergées (30 j)
- 72
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
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de braintrustdata/braintrust-sdk-javascript
-
Difficulté 3/5 1-2 jours Accessibilité débutants 45/100
braintrustdata/braintrust-sdk-javascript#2619 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
braintrustdata/braintrust-sdk-javascript#2618 ·
Les mainteneurs répondent en général sous 1 jour
-
typescript
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
braintrustdata/braintrust-sdk-javascript#2605 ·
Les mainteneurs répondent en général sous 1 jour
-
typescript
Difficulté 4/5 3-5 jours Accessibilité débutants 52/100
braintrustdata/braintrust-sdk-javascript#2603 ·
Les mainteneurs répondent en général sous 1 jour
-
typescript
Difficulté 4/5 3-5 jours Accessibilité débutants 55/100
braintrustdata/braintrust-sdk-javascript#2578 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de braintrustdata/braintrust-sdk-javascript
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
one-zero-eight/apply-bot#39 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
bigbluebutton/bbb-ui-components-react#108 ·
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
Les mainteneurs répondent en général sous 1 jour
-
high priority
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
CI-CMG/deep-sea-corals-exb#84 · 1 commentaire ·