[bot] Azure AI Inference SDK (`@azure-rest/ai-inference`) not instrumented — no tracing for Azure AI Foundry model execution (63,908 weekly downloads)
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 55/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- azure, typescript
- Ambito
- ai, backend-api-design, observability-sre
Direzione di ricerca
Inizia leggendo le configurazioni esistenti in js/src/auto-instrumentations/configs/, in particolare openai.ts, e la registrazione in js/src/auto-instrumentations/configs/all.ts. Poi esamina e2e/scenarios/ e le superfici Azure SDK elencate; il lavoro è completo quando chat completions, streaming ed embeddings tramite @azure-rest/ai-inference producono copertura di tracing con i test.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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
- Lingua principale
- TypeScript
- Stelle
- 29
- Fork
- 16
- Merge medio
- 1g 16h
- PR unite (30g)
- 64
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di braintrustdata/braintrust-sdk-javascript
-
typescript
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
braintrustdata/braintrust-sdk-javascript#2578 ·
I maintainer di solito rispondono entro 1 giorno
-
typescript
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
braintrustdata/braintrust-sdk-javascript#2577 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
braintrustdata/braintrust-sdk-javascript#2527 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 65/100
braintrustdata/braintrust-sdk-javascript#2526 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 56/100
braintrustdata/braintrust-sdk-javascript#2482 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di braintrustdata/braintrust-sdk-javascript
Issue simili
-
./collections should export setUmbracoVersion and setAllowFilePathUploads for in-process consumersAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
umbraco/Umbraco-CMS-MCP-Dev#563 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
-
afk-ok area:data-quality importer size:S
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
enorm-labs/event-junkie#3166 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 80/100
alunduil/projects-v2-sync#21 ·