Distributed tracing for multi-agent systems with OpenTelemetry

Distributed tracing for multi-agent systems with OpenTelemetry

Multi-agentic architectures can pose challenges from an observability perspective. Each agent within a workflow makes its calls to its own toolset and each agent may be configured to use a different underlying LLM (or even a Model Router which picks the most efficient model for us). Being able to observe which agent made what call with which model in a unified manner can be challenging over an entire workflow. OpenTelemetry provides semantic conventions that help us solve this problem and Microsoft Foundry provides tracing integrations for agent frameworks that enable us to implement tracing for different agentic frameworks, and assist us in quickly identifying root causes for issues in our agents. ...

August 5, 2026 · 12 min · Will Velida
Model routing for multi-agent systems in Microsoft Foundry

How Model Routing works for Microsoft Foundry Agents

If you prefer to watch videos over reading, check out this video on my YouTube channel: About a year ago I got back into skateboarding. Probably not the safest midlife crisis ever, but I can travel from my house to the gym, I can kickturn, and even manage a nose stall 1 out of 10 times. Look at this footage for an example ...

August 2, 2026 · 12 min · Will Velida
Building Remote MCP Servers with .NET and Azure Container Apps

Building Remote MCP Servers with .NET and Azure Container Apps

A couple of months ago, I wrote a blog post on how you can create Model Context Protocol (MCP) servers using C#. Using a basic API, I was able to create a MCP server that allowed me to call Australian Football League (AFL) data and supply that as context to LLMs so I can ask it question about AFL results, teams, stats etc. using that API. That blog post talked about how we can use MCP servers that run locally on our machines using stdio transport. In this article, I’ll talk about how we can use Server-Sent Events (SSE) transport to build remote MCP servers that we can host on Azure Container Apps. ...

June 20, 2025 · 10 min · Will Velida
How Tracing works in Azure AI Foundry Agents

How Tracing works in Azure AI Foundry Agents

Determining how Azure AI Foundry Agents makes decisions is important for troubleshooting and debugging purposes. However, it can get a little complicated when our agents perform complex workflows. Our agents could perform numerous executions, making it difficult to track decisions made by all or them, or some agents may invoke tools, that invoke other tools, which invoke more tools! (And so on and so forth). Tracing our agents helps us see the inputs and outputs involved in a particular agent run, as well as the order in which those agents were invoked. In this blog post, I’ll talk about how tracing agents works, how we can do some simple tracing using the Azure AI Foundry Agents playground, and how we can implement tracing in our pro-code agents using OpenTelemetry. ...

June 4, 2025 · 9 min · Will Velida
How to build Azure AI Agents with Azure AI Agent Service

Building AI Agents with Azure AI Agent Service

As the technology advances, Generative AI models are becoming powerful enough to operate autonomously to automate tasks. This is improvement on being able to perform simple tasks in “chat” like applications. This allows us to build AI Agents, which are applications that can use generative AI models with contextual data to automate tasks based on user input and the context that they can perceive. In this article, I’ll talk about how we can build AI Agents using Azure AI Agent service. ...

May 17, 2025 · 16 min · Will Velida