Azure / Azure/data-api-builder

[Bug]: Critical! No database query trace spans

Ouverte
#3,560 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
2.x telemetry
Langage dominant
C#
Étoiles
1.5k
Forks
370
Merge moyen
3 j 22 h
PR mergées (30 j)
9

Description

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()`.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par suivre la configuration de TracerProvider et le chemin de requête de Azure.DataApiBuilder.Core.Resolvers.IQueryExecutor ; l’issue identifie l’enregistrement manquant de AddSqlClientInstrumentation(). Comparez la télémétrie émise aux conventions sémantiques OTEL pour les bases de données et vérifiez que l’exécution SQL produit un span enfant sous le span HTTP, avec les attributs mssql, le nom de la base de données et la requête.

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

Évaluation

Stack technique
csharp, sql
Domaine
backend-api-design, databases, observability
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
Calme
Clarté
Plutôt claire
Accessibilité débutants
63/100

Recevez les nouvelles issues par e-mail

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