Azure / Azure/data-api-builder

[Bug]: Critical! No database query trace spans

Aperta
#3,560 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
2.x telemetry
Lingua principale
C#
Stelle
1.5k
Fork
370
Merge medio
3g 22h
PR unite (30g)
9

Descrizione

SQL queries are logged at debug level (visible in OTEL logs and file telemetry) but are never emitted as trace spans. There is no way to see database latency in a trace waterfall or correlate slow queries back to the HTTP request that triggered them.

## Expected

Each SQL query should produce a child span under the parent HTTP request span, following the [OTEL database semantic conventions](https://opentelemetry.io/docs/specs/semconv/database/):

```
[Server] GET /api/Todo ── 220ms
└─ [Client] SELECT ... FROM dbo.Todo ── 18ms
db.system = mssql
db.name = TodoDb
db.statement = SELECT TOP 101 [dbo_Todo].[id] ...
```

This is standard for .NET apps using `AddSqlClientInstrumentation()`.

## Actual

SQL queries only appear in debug-level OTEL logs, not as trace spans:

```
InstrumentationScope Azure.DataApiBuilder.Core.Resolvers.IQueryExecutor
LogRecord #1
Body: Str( Executing query: SELECT TOP 101 [dbo_Todo].[id] AS [id], ...)
```

Zero `db.system: mssql` spans exist. The `TracerProvider` does not register `AddSqlClientInstrumentation()`.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia tracciando la configurazione di TracerProvider e il percorso della query di Azure.DataApiBuilder.Core.Resolvers.IQueryExecutor; l'issue identifica la registrazione mancante di AddSqlClientInstrumentation(). Confronta la telemetria emessa con le convenzioni semantiche dei database di OTEL e verifica che l'esecuzione SQL produca uno span figlio sotto lo span HTTP, con gli attributi mssql, il nome del database e lo statement.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
csharp, sql
Ambito
backend-api-design, databases, observability
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Tranquilla
Chiarezza
Abbastanza chiara
Idoneità per principianti
63/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.