Azure / Azure/data-api-builder

[Bug]: No MCP tool invocation trace spans

Ouverte
#3,563 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

MCP tool calls (describe_entities, read_records, create_record, update_record, delete_record, aggregate_records) produce log records but no trace spans. You cannot see MCP tool execution in a trace waterfall or measure individual tool latency via traces.

## Expected

Each MCP tool invocation should produce a span with the tool name and result:

```
Span: MCP tool/call describe_entities
Kind: Server
Duration: 37ms
Attributes:
mcp.tool.name = describe_entities
mcp.session.id = oHJsLuTRTyN3En34uxhxmg
rpc.method = tools/call
```

The code paths already exist — DAB has log instrumentation scopes `Azure.DataApiBuilder.Mcp.BuiltInTools.CreateRecordTool` and `Azure.DataApiBuilder.Mcp.BuiltInTools.ReadRecordsTool`, proving these tool boundaries are identified in code.

## Actual

MCP tool calls appear only as logs, not trace spans. The `ModelContextProtocol.Server.McpServer` scope emits log records for tool execution, but there is no corresponding `Activity` or span created:

```
InstrumentationScope Azure.DataApiBuilder.Mcp.BuiltInTools.ReadRecordsTool
LogRecord #0 (log only, no span)
```

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par localiser les limites des outils MCP identifiées par les portées d’instrumentation de Azure.DataApiBuilder.Mcp.BuiltInTools.CreateRecordTool et ReadRecordsTool, puis examinez la manière dont ModelContextProtocol.Server.McpServer émet les journaux d’exécution des outils. Ajoutez des spans de trace pour les outils MCP listés, avec le nom de l’outil, l’ID de session, la méthode RPC, le type de serveur et le résultat, puis vérifiez que la latence de chaque outil apparaît dans les cascades de traces.

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

Évaluation

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

Recevez les nouvelles issues par e-mail

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