Try it free

Understand and manage AI Units consumption (DPS)

  • Latest Dynatrace
  • Explanation
  • 5-min read
  • Published Jul 28, 2026

Dynatrace generative and agentic AI capabilities are metered with AI Units. A single AI Unit is a normalized quantity of AI work performed when a prompt or request runs large-language-model (LLM) inference on your behalf. As the complexity and value of a task grows, so does its AI Unit consumption.

This page explains how consumption is calculated for AI Units, how to estimate usage for different use cases, and how to track your actual usage.

AI-driven actions can also generate Standard Function Calls and query consumption; for an overview of how all three relate, see Agentic AppEngine overview (DPS).

How consumption is calculated

AI Units meter AI/LLM work: Inference performed by the driver LLM (the operator) for agentic reasoning, and any LLM-based tool that the driver LLM invokes. Available tools are listed in the MCP server documentation. Examples include create-dql (nl2dql) and explain-query (dql2nl).

AI Units are metered:

  • When a generative or agentic workflow action is triggered.
  • When an LLM-based tool is called as a result of an agentic workflow action.
  • When an LLM endpoint is called via API.
  • When an LLM-based tool is called via MCP.

Non-LLM-based tools invoked by the driver LLM are billed separately as Standard Function Calls, and any resulting DQL queries as query consumption. See Agentic AppEngine overview (DPS) for how these relate.

Key terms

AI Unit

The normalized unit of measure for AI/LLM work. One AI Unit represents a base amount of inference work, adjusted by a variable weight factor that reflects the complexity of the task.

Driver LLM (operator)

The large language model that performs agentic reasoning, orchestrates tool calls, and generates responses on your behalf.

Estimate your usage

The following examples show, step by step, how AI Units are calculated. Each step is calculated according to the activity that's called, triggered, or executed. You can review each step with your own usage data using the queries in Query billing usage events with DQL.

In general, here are common AI-invocation scenarios. (This list isn't exhaustive and might change over time.)

  • A generative or agentic AI capability runs as a task in a Workflow.
  • An external agent calls generative or agentic AI capabilities through the Dynatrace MCP server.
  • An API call or a custom application invokes generative or agentic AI capabilities.

Usage example 1: Generate and run a query (MCP or API)

If you ask, for example, "Show me logs with errors":

  1. The prompt is converted into a DQL query (create-dql). This is billed as AI Units.
  2. The query is executed (execute-dql). This is billed as a Standard Function Call and query consumption.

If you ask Dynatrace to only generate the query without executing it, only step 1 is billed.

Usage example 2: Single generative answer (API)

If you ask, for example, "How do I set up alerts?", Dynatrace answers the question by looking up documentation and other sources (ask-dynatrace-docs). This is billed as AI Units.

This is a single-step generative request, the lightest billing sequence.

Usage example 3: Agentic investigation (Workflow or external API)

If you ask an agent to investigate a problem and summarize the root cause:

  1. The agent reasons, orchestrates work, and summarizes (operator). This is billed as AI Units.
  2. It fetches the problem (get-problem-by-id). This is billed as a Standard Function Call.
  3. It queries for logs and events (execute-dql). This is billed as a Standard Function Call and query consumption.

A single AI invocation can drive several AI Function Standard Calls, which might generate billable query consumption, depending on the related query executions. A deeper investigation reasons more, and therefore bills more.

For examples where agentic AI generates an AI Function Standard Call without any AI Units, see Understand and manage Standard Function Calls consumption (DPS).

Understand and manage your consumption

Dynatrace provides various options to help you understand and analyze your organization's AI Units costs.

Insights via Account Management

License managers can view usage and costs in Account Management.

  1. Go to Account Management > Subscription > Overview > Cost and usage details > Usage summary.

  2. Select the AI Units capability.

  3. From this screen, you can also drill down into usage detail on the capability and environment level.

    • Capability level: Select View Details next to the capability you want to explore.
    • Environment level: In the Environments table, select … > Open details with Notebooks.

For more information, see Overview (Dynatrace Platform Subscription).

Insights via billing usage events

Billing usage events (billing_usage_event) are system events emitted by Dynatrace that capture already-calculated, billable usage for DPS capabilities. They are the most reliable source for building cost dashboards and allocation reports.

Billing usage event contents

AI Units are recorded as their own event type, sharing a common set of fields with other AI-related events so you can break consumption down by tool, user, workflow, or conversation. This lets you reconstruct the sequence of an AI request.

AI Units fields

For the complete field reference, see AI Units billing usage in the Semantic Dictionary.

FieldDescription

event.type

"AI Units": Filter for AI Units billing events.

usage.quantity.billable

AI Units billed for this call. It is calculated as a base amount adjusted by a variable weight factor that reflects the complexity of the work. Sum this field for consumption.

usage.unit

The unit label.

billing_type

BILLABLE: Filter for billable usage.

tool

The AI capability or tool invoked, for example operator, nl2dql. See the MCP server documentation for the complete list.

tool.category

ai: Marks the record as AI (LLM) work.

caller.type

Caller origin: internal (in-platform, Workflow), api (external call via API), or mcp (external MCP client).

caller.app.id, dt.app.id

The app or context that fired the call, for example dynatrace.davis.copilot.workflow.actions.

caller.service.id

The backing service, for example DAVIS_COPILOT.

user.email, user.id

The invoking user, used for per-user attribution.

conversation_id

Groups the turns of one multi-turn conversation.

session_id

The MCP session identifier, which groups every call made in one session. An example MCP session includes:

  1. An operator agent turn that the driver LLM (operator) invoked.
  2. The Standard Function Calls that it triggered.
  3. The tool calls that an external MCP client (IDE or agent) makes in its session.

Join on this field to reconstruct a tool sequence.

Events that result from direct API tool calls, which don't require an MCP session, don't have a session_id.

workflow.id, workflow.execution.id

Set when a Workflow triggered the call. Includes the workflow definition and the specific run.

event.id

Unique event ID. Use this with dedup event.id.

timestamp

When the call occurred. Use this for ordering and timeseries.

For the AI-triggered Standard Function Call event type, see Understand and manage Standard Function Calls consumption (DPS).

Query billing usage events with DQL

You can use these DQL examples to query billing usage events.

Example query: See AI Units by tool and caller type
fetch dt.system.events, scanLimitGBytes: -1
| filter event.kind == "BILLING_USAGE_EVENT"
| filter event.type == "AI Units"
| summarize ai_units = sum(usage.quantity.billable), by:{tool, caller.type}
Example query: See the full session or conversation tool chain

The following DQL query provides a grouped and sorted list of all AI-related billing events (AI Units, AI Function Standard Calls, and AI-generated query events) within the last 24 hours.

fetch dt.system.events, scanLimitGBytes: -1, from: -24h
| filter event.kind == "BILLING_USAGE_EVENT"
| filter in(event.type, array("AI Units", "AI Function Standard Call"))
or (in(event.type, array("Log Management & Analytics - Query", "Events - Query", "Traces - Query", "Digital Experience Monitoring - Query")) and ai_generated == true)
| sort session_id, conversation_id, timestamp asc
  • Events without a session_id result from direct API tool calls, which don't require an MCP session.
  • Some tools, such as execute-dql, generate multiple billing usage events: an AI Function Standard Call and a query event (ai_generated == true, representing the data scanned). These events are linked by the same session_id and conversation_id.
Example query: See AI calls in a multi-turn conversation

The following DQL query shows the AI calls that make up one conversation, sorted in order.

fetch dt.system.events, scanLimitGBytes: -1
| filter event.kind == "BILLING_USAGE_EVENT"
| filter event.type == "AI Units"
| filter isNotNull(conversation_id)
| dedup event.id
| sort timestamp asc
| summarize turns = count(), aiUnits = sum(usage.quantity.billable), skills = collectArray(tool), by:{conversation_id}
| sort turns desc
Example query: See AI Units and AI Function Standard Calls in a workflow run

The following DQL query shows the ordered AI Units and AI Function Standard Calls belonging to one specific workflow execution.

fetch dt.system.events, scanLimitGBytes: -1
| filter event.kind == "BILLING_USAGE_EVENT"
| filter in(event.type, array("AI Units", "AI Function Standard Call"))
| filter isNotNull(workflow.execution.id)
| dedup event.id
| sort timestamp asc
| summarize steps = count(), sequence = collectArray(tool), by:{workflow.id, workflow.execution.id}
| sort steps desc

Insights via API

You can query insights via the Environment API - Grail Query. Example DQL queries are provided in Query billing usage events with DQL.

FAQs

If no AI reasoning is involved, are AI Units still consumed?

No, only tools that invoke LLM reasoning are charged by AI Units.

Will the invocation of a tool always consume AI Units?

It depends on the tool. If an external agent calls a non-LLM-based tool (for example, execute-dql) through the MCP server without the driver LLM performing any reasoning, no AI Units are consumed. Only a Standard Function Call and, where applicable, query consumption are billed.

Does generating a query without executing it consume more than AI Units?

No. If you ask Dynatrace to only generate a query without executing it, only the AI Units for the generation step are billed. No Standard Function Call or query consumption is incurred.

Related topics

  • Agentic AppEngine overview (DPS)
  • Dynatrace Assist
  • Dynatrace MCP server
  • Understand and manage Standard Function Calls consumption (DPS)
  • License Dynatrace
  • Dynatrace pricing
Related tags
Dynatrace PlatformAI Observability