Azure / Azure/data-api-builder

[Bug]: Critical! No database query trace spans

Abierto
#3,560 0 comentarios 0 reacciones 0 asignados Ver en GitHub
2.x telemetry
Lenguaje dominante
C#
Estrellas
1.5k
Forks
370
Merge medio
3 d 22 h
PR fusionados (30 d)
9

Descripción

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

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza siguiendo la configuración de TracerProvider y la ruta de consulta de Azure.DataApiBuilder.Core.Resolvers.IQueryExecutor; el issue identifica el registro faltante de AddSqlClientInstrumentation(). Compara la telemetría emitida con las convenciones semánticas de bases de datos de OTEL y verifica que la ejecución de SQL produzca un span hijo bajo el span HTTP, con los atributos mssql, el nombre de la base de datos y el statement.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
csharp, sql
Área
backend-api-design, databases, observability
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Tranquilo
Claridad
Bastante claro
Aptitud para principiantes
63/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.