AI Engineering2026-07-056 min read

Finding Slow Tool Calls in Vercel AI SDK v7 Telemetry

When an agent takes ten seconds to respond, you need to know why. I used the new OpenTelemetry support in Vercel AI SDK v7 to track down a slow API call.

Varun Raj Manoharan
Varun Raj Manoharan
VercelAISDK v7ObservabilityOpenTelemetry

A lot of AI demos look incredibly fast until you run them in production. My weather-checking agent worked perfectly locally, but users complained it was freezing for ten seconds before typing a response.

Before Vercel AI SDK v7, debugging latency meant littering my code with console.time(). The new @ai-sdk/otel package fixes this by hooking directly into Node.js tracing channels.

Wiring up OpenTelemetry

You have to configure an OpenTelemetry provider first. I exported my traces to a local Jaeger instance to visualize them. The SDK handles the rest automatically once you import the instrumentation module.

TypeScript
// instrumentation.ts
import { registerOTel } from '@vercel/otel';
import { AISDKExporter } from '@ai-sdk/otel';

export function register() {
  registerOTel({
    serviceName: 'weather-agent',
    traceExporter: new AISDKExporter(),
  });
}
TypeScript
// agent.ts
import { streamText } from 'ai';
import { openai } from '@ai-sdk/openai';
import { z } from 'zod';

export async function POST(req: Request) {
  return streamText({
    model: openai('gpt-4o'),
    prompt: 'What is the weather in London?',
    tools: {
      getWeather: {
        description: 'Get current weather',
        parameters: z.object({ city: z.string() }),
        execute: async ({ city }) => {
          // This API call was the culprit
          const res = await fetch(`https://api.slow-weather.com/v1/${city}`);
          return res.json();
        },
      },
    },
  });
}

Reading the Traces

When I checked the Jaeger dashboard, the problem was obvious. The trace showed the initial LLM call took 800 milliseconds. Then there was a massive eight-second block labeled tool-execution: getWeather. The final LLM call to format the response took another 600 milliseconds.

The model was not slow. The external weather API I was using had terrible latency.

The v7 observability features give you a granular breakdown of every step: how long the model thought, how long the tool ran, and how long the stream took to close. If you are building agents that rely on third-party APIs, this level of tracing is not optional. You have to know what is actually slowing you down.

Interactive Engineering Calculators

Estimate your project cost, token budget, and automation ROI

We built free, production-calibrated tools to help engineering leaders forecast token consumption, compare build vs buy scenarios, and audit code security.

Related reading

Available for new projects

Let's build something great.

Have a project in mind? We are an elite software and AI development studio ready to bring your ideas to production. Let's talk about your roadmap.

See our work