Agentic Data Plane

Monitor Agent Activity

Use monitoring to track agent performance, analyze conversation patterns, debug execution issues, and optimize token costs.

After reading this page, you will be able to:

  • Verify agent behavior and review its MCP capabilities using the Playground tab

  • Track token usage and performance metrics

  • Debug agent execution using transcripts

For conceptual background on traces and observability, see How Observability Works.

Prerequisites

You must have a running agent. If you do not have one, see Agentic Data Plane Quickstart for Agent Builders.

Debug agent execution with transcripts

An agent’s Transcripts tab shows each conversation with timing, errors, and token usage. Use it to debug issues, verify agent behavior, and monitor performance.

  1. Open Agents in the sidebar and select your agent.

  2. Open the Transcripts tab.

The tab lists the agent’s recent conversations, one row per conversation:

  • Conversation: The conversation ID, with the conversation title when one exists.

  • Started: When the conversation began.

  • Duration: End-to-end wall-clock time.

  • Turns: Number of turns in the conversation.

  • Status: Completed, Error, or Running.

  • Tokens: Total tokens across the conversation.

Use the search box to match a conversation ID or title, and the status dropdown to narrow the list to Completed, Error, or Running conversations. Select the Started, Duration, Turns, or Tokens column header to order the whole list by that value. The list is paged, with a rows-per-page selector in the footer. Use the page controls to move through older conversations.

Conversation detail

Click a row to open the conversation. The header shows the conversation ID with a status badge, the start time, duration, and turn count, plus a total-tokens chip. Toggle between two views:

  • Chat: Shows the user-visible exchange as a conversation.

  • Detailed: Adds per-turn metadata: latency, LLM and tool call counts, input and output token totals, and each tool call with its status and duration.

In Detailed, select a tool call to expand it and read the Arguments the agent sent and the Result it got back, plus the error message when the call failed. A tool call with none of those recorded doesn’t expand.

Check agent health

Use the Transcripts tab to verify your agent is healthy. Recent conversations should show Completed status, duration within your expected range, and stable token usage without unexpected growth.

Several warning signs indicate problems. Conversations with Error status need investigation. When duration increases over time, your context window may be growing or tool calls could be slowing down. Many LLM calls for simple requests often signal that the agent is stuck in loops or making unnecessary iterations. If you see no new transcripts, the agent may be stopped or encountering deployment issues.

Pay attention to patterns across multiple conversations. When all recent transcripts show errors, start by checking agent status, MCP server connectivity, and system prompt configuration. A list that alternates between success and error typically points to intermittent tool failures or external API issues. If duration increases steadily over a session, your context window is likely filling up. In the Playground, click Clear context to start a fresh session. High token usage combined with relatively few LLM calls usually means tool results are large or your system prompts are verbose.

Debug with transcripts

Use the Transcripts tab to diagnose specific issues:

If the agent is not responding:

  1. Check the list for recent conversations. If none appear, the agent may be stopped.

  2. Verify agent status in the main Agents view.

  3. Look for error transcripts with deployment or initialization failures.

If the agent fails during execution:

  1. Set the status dropdown to Error and open the failed conversation.

  2. Switch to the Detailed view and find the turn carrying the error.

  3. Check the tool call’s arguments and result for error messages.

  4. Cross-reference with MCP server status.

If performance is slow:

  1. Compare the Duration column across recent conversations.

  2. Open a slow conversation in the Detailed view and scan per-turn latency to find the bottleneck.

  3. Subtract the turn’s tool time from its latency to see how much belongs to the model calls. See Find the step that owns the time.

  4. Verify tool execution time on the nested tool calls.

Track token usage and costs

View token consumption in the conversation detail view. The Detailed view breaks each turn into input tokens (everything sent to the LLM including system prompt, conversation history, and tool results) and output tokens (what the LLM generates in agent responses); the header chip shows the conversation total.

Calculate cost per request:

Cost = (input_tokens x input_price) + (output_tokens x output_price)

Example, with illustrative prices: 4,302 input tokens and 1,340 output tokens at $0.00000175 per input token and $0.000014 per output token cost $0.026 per request. Check your provider’s current prices for real figures.

For cost optimization strategies, see Cost calculation.

Test agent behavior with Playground

The Playground tab provides real-time conversation testing. Use it to test agent responses interactively and verify behavior before deploying changes.

Playground test loop. A user sends a prompt, the agent streams responses, artifacts, and MCP tool calls, and Playground shows context and token usage. The user can retry or clear context, while completed runs remain available in transcripts and activity views.
Figure 1. Playground closes the loop between a test prompt and production evidence

Access Playground

  1. Open Agents in the sidebar.

  2. Click your agent name.

  3. Open the Playground tab.

  4. Enter test queries and review responses.

  5. Check the conversation panel to see tool calls.

  6. Click Clear context in the composer to start over. See Reopen a past session.

Reopen a past session

The Playground saves every conversation with a managed agent as a session, identified by its context ID, so you can return to a test run, read what happened, and carry on from where it stopped.

Click History in the Playground header. After a conversation has messages, the same control reads Session followed by the session’s ID, with a copy control beside it. Session history lists each session by its title, or by its ID when it has none, along with when it was last updated. Newest sessions appear first. Click Show more to load older sessions.

To find one session in a long list, filter the history:

  1. Under Session ID (exact), enter the full session ID.

  2. To filter by date instead, set Updated from and Updated through. Type a date as YYYY-MM-DD or pick one from the calendar. Dates use your local timezone, and both ends of the range are inclusive.

  3. Click Apply filters. The popover reads Filters active while a filter applies.

  4. Click Clear filters to return to the full list.

Click a session to reopen it. The Playground replays the stored transcript, including the files and data sent with each message, and any message you send next continues that session. If an attachment is no longer stored, its place in the transcript says that it could not be displayed. When the task record for a session is unavailable, the transcript still loads, without task, tool, or usage detail, and says so. A very long session shows only its most recent tasks.

Each row in Session history carries an actions control that opens a menu with Rename and Delete.

To give a session a title of your own, open the row’s actions menu and select Rename. Enter a title of up to 63 characters and click Save. The title replaces the generated one in Session history. Leave the field empty to go back to the generated title, or to the session ID when the session has no generated title. Renaming changes the title only. The conversation, its transcript, and the time it was last updated stay as they are. Renaming a session needs a permission of its own, separate from reading or deleting one. See Agent session permissions.

To delete a session, open the row’s actions menu, select Delete, then confirm. Deletion permanently removes the session and its transcript. If you delete the session that is open, the Playground starts a new one.

New session in Session history and Clear context in the composer do the same thing. They start a fresh session, and the conversation you leave stays in Session history until you delete it.

A self-managed agent has no Playground tab and no session store.

Send files and structured data

Click Add attachment, the paperclip control in the composer, to send more than text with your next message. Attach files takes one or more files. Add structured data opens a dialog for a single JSON object, which the agent receives as a data part alongside whatever you typed. You can also drag files straight onto the composer, which reads Drop files to attach while you hold them over it.

Each attachment appears as a chip above the message box, and you can remove any of them before sending. A file still being read shows Reading…, and the send control stays disabled until every file finishes. Attachments must total 10 MiB or less per message. Past that, Playground asks you to remove a file and try again.

A test message doesn’t need text. A file or a structured-data object on its own is enough to send a turn, which is useful for checking how an agent handles an attachment it wasn’t prompted about.

To add structured data, enter one JSON object under Structured data JSON, optionally click Format JSON to reindent it, then click Add data. The dialog reports both invalid JSON and valid JSON that isn’t an object, and keeps your draft on screen so you can correct it.

Review MCP tools and subagents

For a managed agent, the Playground composer has a Tools control under an MCP label, and, when the agent delegates to subagents, a Subagents control that shows how many it has, such as 2 subagents. Use them to review the capabilities available to the agent before you send a test message.

To review the agent’s direct MCP servers and their tools:

Playground tool discovery. The Tools control displays direct MCP servers, and the Subagents control displays the agent’s subagents. Direct servers expose their tools to the agent. Each subagent exposes only the tools from the MCP servers configured for that subagent. Authentication and availability affect which tools are visible.
Figure 2. Playground shows tool access through direct MCP servers and subagents
  1. Open the agent’s Playground tab.

  2. Click Tools in the composer.

  3. Under Direct MCP servers, expand a server to see its type, description, and exposed tools. Each tool entry shows its name and description when the server provides one.

The list reflects the agent’s current configuration and the tools each direct MCP server exposes. It does not guarantee that a later tool call succeeds. Server availability, access policy, or an external connection can still affect a call at runtime.

Some remote MCP servers require you to connect your own account before their tools are shown. Expand the server and click Connect, complete the authorization in the new browser tab, then return to Playground. The list refreshes when you return. If it does not, click Refresh tools.

Use the status shown under a server to resolve common issues:

Status What to do

Authentication required

Click Connect and complete the authorization flow. Protected tools remain hidden until the connection grants the required access.

Unavailable

Ask an administrator to confirm that the MCP server exists and is enabled for the agent.

Couldn’t load tools

Click Try again. If the error continues, check the MCP server’s availability and authentication settings.

No tools exposed by this MCP server

Confirm that the server publishes tools and that the agent is connected to the intended server.

When the agent delegates to subagents, click the subagents control next to Tools to review the delegation targets this agent can orchestrate. Each entry lists the subagent’s name, its description, and the MCP servers configured on it.

Review the agent’s outputs

One panel gathers everything the agent supplied during a conversation, so you don’t have to scroll back through the replies to find a file it generated or a source it cited.

Click Outputs in the Playground header. On a wide window the panel opens beside the conversation, and on a narrow one it opens over it. It holds a group for each kind of output the agent supplied, with the number of items beside the group name:

  • Files and artifacts: the files and artifacts the agent returned.

  • Structured data: the structured data it returned, as JSON.

  • Source references: the sources it cited, each with its title, its source ID, and its media type when it reported one. A source that came with a usable link opens from its title. One that didn’t says so instead.

Each row names the response it came from and expands in place to show its content. A group holding more than 20 items has a control to show more. While a reply is still being written, the panel says that the outputs may change, and until the agent supplies something it reads No outputs supplied yet.

A citation resolves only against the sources supplied with its own response, so an ID the agent cited without supplying reads as not supplied, rather than resolving to a source of the same ID from a different response.

Read the activity log

Click Activity in the Playground header to read the work behind the conversation: the tools the agent called, the statuses it reported, and any warnings, errors, or connection events. The log records what happened and takes no action on it.

Entries appear in conversation order. Each one carries a title and a status, plus the time to the millisecond when one was recorded. A tool call also carries the ID of the call and how long it took, or Duration unavailable when no timing was recorded, and an entry with further detail shows it underneath.

The log holds what the agent reported and nothing else, so a missing result doesn’t mean the tool is still running. Until the agent reports something, the log reads No activity recorded.

The log covers the conversation you have open in the Playground. For the record that outlives a test run, read the agent’s transcripts. See See What Your Agent Did.

Token usage and context estimate

As you test, the composer reports how many tokens the conversation has used, and estimates how much of the model’s context window the latest turn occupies. The indicator sits in the composer. It shows the context estimate as a percentage with a ring when Agentic Data Plane knows the model’s limits, and falls back to the session’s input and output token counts when it doesn’t.

Click the indicator to open the breakdown. A Token usage section reports the Latest input token count, the Model input limit, the Model output limit, and the Context estimate as a percentage. A Reported session usage section reports the Session total and splits it into Input, Cached input, Output, and Reasoning output.

The context estimate and the reported counts answer different questions, so read them separately:

  • The reported counts are measurements the model provider returned for the session. A heading of Reported session usage (partial) means the provider returned some counts but not a complete breakdown, and a session with no counts at all reads Token usage unavailable.

  • The context estimate is a ratio of the latest input against the model’s published input limit, which is why it carries a tilde. It isn’t live telemetry from the model, and it doesn’t account for anything the provider does to the context that it doesn’t report.

The latest input count includes cached tokens, so the estimate reflects the full context occupancy under prompt caching, not fresh input alone. As a conversation grows and the estimate approaches 100%, click Clear context to start a fresh session before responses slow down or the agent starts dropping earlier context.

Agentic Data Plane reads the two model limits from its model catalog. For a model that isn’t in the catalog, such as one served by an OpenAI-compatible provider or a hand-entered model ID, the limits and the context estimate read Unavailable, and the indicator reports the reported token counts alone.

Stop a run

While the agent is working, the send control in the composer becomes Cancel. Click it to stop the run. Playground ends the live view and labels the turn Canceled once the agent confirms the cancellation.

Long-running tasks

The Playground live view streams a test run as it happens. If the stream drops, Playground tries to reconnect. When it can’t reconnect within about five minutes, it stops the live view and shows a Live updates stopped notice. The task may still be running, so check the agent’s Transcripts tab later for the result.

Testing best practices

Test your agents systematically by exploring edge cases and potential failure scenarios. Begin with boundary testing. Requests at the edge of agent capabilities verify that scope enforcement works correctly. Error handling becomes clear when you request unavailable data and observe whether the agent degrades gracefully. Even with proper system prompt constraints, testing confirms that your agent responds appropriately to edge cases.

Monitor iteration counts during complex requests to ensure they complete within your configured limits. Ambiguous or vague queries reveal whether the agent asks clarifying questions or makes risky assumptions. Throughout testing, track token usage per request to estimate costs and identify which query patterns consume the most resources.