Agent Catalog and Runtime Statistics Views

Oracle AI Database provides catalog views for inspecting stored agents and dynamic performance views for examining Agent Spec execution activity.

ViewPurpose
USER_AI_AGENTSDescribes the stored agents owned by the current user.
DBA_AI_AGENTSDescribes stored agents across the database.
V$AGENT_EXEC_STATReports execution statistics collected on the current database instance.
GV$AGENT_EXEC_STATReports the corresponding execution statistics across database instances.

View Stored Agents

USER_AI_AGENTS

USER_AI_AGENTS describes the stored agents owned by the current user. Each row represents one stored Agent Spec created through DBMS_AI_AGENT.CREATE_AGENT.

The following query lists the current user's stored agents and their creation times:

SELECT agent_id,
       agent_name,
       create_time
FROM   user_ai_agents
ORDER  BY agent_name;

USER_AI_AGENTS contains the following columns:

ColumnData typeDescription
AGENT_IDNUMBERUnique identifier for the stored agent.
AGENT_NAMEVARCHAR2(128)Name assigned to the stored agent. This is the name supplied to stored-agent management and execution APIs.
CREATE_TIMEDATEDate and time at which the agent was created.
INPUTSCLOBJSON input schema for executing the stored agent.
OUTPUTSCLOBJSON output schema produced by the stored agent.

For example, the following query displays the call contract for one stored agent:

SELECT agent_name,
       inputs,
       outputs
FROM   user_ai_agents
WHERE  agent_name = 'ORDER_ASSISTANT';

DBA_AI_AGENTS

DBA_AI_AGENTS describes stored agents across the database. It contains the same agent identity, creation-time, and call-contract information as USER_AI_AGENTS, together with the owner of each agent. Querying this view requires the applicable catalog privilege. The following query lists stored agents by owner:

SELECT owner,
       agent_id,
       agent_name,
       create_time
FROM   dba_ai_agents
ORDER  BY owner, agent_name;

DBA_AI_AGENTS contains the following columns:

ColumnData typeDescription
AGENT_IDNUMBERUnique identifier for the stored agent.
OWNERVARCHAR2(128)Owner of the stored agent.
AGENT_NAMEVARCHAR2(128)Name assigned to the stored agent.
CREATE_TIMEDATEDate and time at which the agent was created.
INPUTSCLOBJSON input schema for executing the stored agent.
OUTPUTSCLOBJSON output schema produced by the stored agent.

The catalog views describe stored Agent Specs; they do not contain statistics for individual executions. Use the dynamic performance views in the following sections to examine runtime activity.

Runtime Execution Statistics

V$AGENT_EXEC_STAT reports runtime measurements collected for Agent Spec executions on the current database instance. Each row contains node call counts, elapsed times, and LLM token usage accumulated during one execution.

GV$AGENT_EXEC_STAT reports the corresponding rows across database instances.

How Statistics Rows Are Formed

The runtime creates one statistics record after an execution completes successfully. The values in that record are accumulated across the work performed during that execution, including repeated and nested node activity.

The rows are not cumulative summaries of several executions. For example, a row whose AGENT_EXECUTOR_LLM_CALL_COUNT is 3 describes three LLM calls made during one execution; it does not combine one LLM call from each of three executions.

Executions that fail before statistics are recorded do not produce a completed statistics row.

The dynamic performance views expose runtime statistics rather than durable execution history. Rows can change as executions complete and as runtime statistics are managed.

Correlate Statistics with an Execution

The statistics views support workload measurement and performance diagnosis. They do not expose an execution identifier or timestamp that can be used to associate a row reliably with a particular call when several executions are occurring concurrently.

CON_ID identifies the container associated with a row. GV$AGENT_EXEC_STAT additionally exposes INST_ID, which identifies the database instance. These columns provide database context but do not uniquely identify an execution.

In a controlled test environment with no concurrent Agent Engine activity, querying the view immediately before and after one execution can isolate the newly recorded row. When diagnostic information must be associated directly with a particular execution call, request the TRACES output from that call. The trace is returned to the caller that requested it and can therefore be correlated with that execution. For more information, see Tracing.

Query Runtime Statistics

The following query selects commonly used measurements from the current instance:

SELECT con_id,
       agent_executor_llm_call_count    AS llm_calls,
       agent_executor_tool_call_count   AS tool_calls,
       agent_executor_branch_call_count AS branch_calls,
       agent_executor_total_time_exec   AS total_time_ms,
       agent_executor_input_tokens      AS input_tokens,
       agent_executor_output_tokens     AS output_tokens
FROM   v$agent_exec_stat;

A row can have the following form:

CON_ID  LLM_CALLS  TOOL_CALLS  BRANCH_CALLS  TOTAL_TIME_MS  INPUT_TOKENS  OUTPUT_TOKENS
------  ---------  ----------  ------------  -------------  ------------  -------------
     3          2           1             1           1840           640            120

This row records two LLM calls, one tool call, one branching evaluation, 1,840 milliseconds of total execution time, 640 input tokens, and 120 output tokens for one execution in container 3.

Diagnose Execution Performance

The statistics views can identify which category of work accounts for most of an execution's elapsed time. The following query examines executions whose recorded duration exceeded two seconds and compares LLM and ToolNode processing with the total execution time:

SELECT con_id,
       agent_executor_total_time_exec AS total_time_ms,
       agent_executor_total_time_llm  AS llm_time_ms,
       agent_executor_total_time_tool AS tool_time_ms,
       ROUND(
         100 * agent_executor_total_time_llm /
         NULLIF(agent_executor_total_time_exec, 0), 1) AS llm_time_pct,
       ROUND(
         100 * agent_executor_total_time_tool /
         NULLIF(agent_executor_total_time_exec, 0), 1) AS tool_time_pct,
       agent_executor_llm_call_count  AS llm_calls,
       agent_executor_tool_call_count AS tool_calls,
       agent_executor_input_tokens    AS input_tokens,
       agent_executor_output_tokens   AS output_tokens
FROM   v$agent_exec_stat
WHERE  agent_executor_total_time_exec > 2000
ORDER  BY agent_executor_total_time_exec DESC;

A row can have the following form:

CON_ID  TOTAL_TIME_MS  LLM_TIME_MS  TOOL_TIME_MS  LLM_TIME_PCT  TOOL_TIME_PCT  LLM_CALLS  TOOL_CALLS  INPUT_TOKENS  OUTPUT_TOKENS
------  -------------  -----------  ------------  ------------  -------------  ---------  ----------  ------------  -------------
     3           4200         3500           280          83.3            6.7          5           2          8200            640

In this example, LLM processing accounts for most of the recorded execution time. The five LLM calls and 8,200 input tokens indicate that model-call frequency and prompt size are useful areas to examine. A trace from a representative execution can then identify the LlmNode, Agent round, mapped iteration, or nested component responsible for those calls.

The same query supports other diagnoses:

  • A high ToolNode percentage directs attention to the invoked database procedures, vector searches, or external tool operations.
  • A high LLM call count can indicate repeated Agent rounds, mapped model calls, or several LLM nodes in one execution.
  • High input-token usage can indicate that prompts or accumulated Agent context contain more data than the model task requires.
  • High total execution time with comparatively low LLM and ToolNode time directs attention to other node categories and runtime processing.

The statistics identify the category of work to investigate. The execution trace identifies the component hierarchy and activity for the specific call.

Interpret the Measurements

Node Call Counts

The call-count columns report how many times each node category ran during the execution represented by the row. AGENT_EXECUTOR_BRANCH_DEFAULT_CALL_COUNT reports how many branching evaluations selected the default branch.

Execution Time

Columns whose names begin with AGENT_EXECUTOR_TOTAL_TIME_ report time in milliseconds. AGENT_EXECUTOR_TOTAL_TIME_EXEC reports the total execution time, while the other time columns attribute time to node categories or individual operations.

The component times do not necessarily add up to AGENT_EXECUTOR_TOTAL_TIME_EXEC. Total time can include runtime work that is not attributed to a listed component category. Concurrent work can also overlap in elapsed time.

LLM Token Usage

AGENT_EXECUTOR_INPUT_TOKENS and AGENT_EXECUTOR_OUTPUT_TOKENS report the LLM token usage accumulated during the execution. An execution that does not invoke an LLM does not contribute LLM token usage.

V$AGENT_EXEC_STAT Columns

V$AGENT_EXEC_STAT contains the following columns:

ColumnDescription
AGENT_EXECUTOR_LLM_CALL_COUNTNumber of LlmNode calls.
AGENT_EXECUTOR_TOOL_CALL_COUNTNumber of ToolNode calls.
AGENT_EXECUTOR_BRANCH_CALL_COUNTNumber of BranchingNode evaluations.
AGENT_EXECUTOR_BRANCH_DEFAULT_CALL_COUNTNumber of branching evaluations that selected the default branch.
AGENT_EXECUTOR_MAP_NODE_CALL_COUNTNumber of MapNode calls.
AGENT_EXECUTOR_PARALLEL_MAP_NODE_CALL_COUNTNumber of ParallelMapNode calls.
AGENT_EXECUTOR_START_NODE_CALL_COUNTNumber of StartNode calls.
AGENT_EXECUTOR_END_NODE_CALL_COUNTNumber of EndNode calls.
AGENT_EXECUTOR_FLOW_NODE_CALL_COUNTNumber of FlowNode calls.
AGENT_EXECUTOR_PARALLEL_FLOW_NODE_CALL_COUNTNumber of ParallelFlowNode calls.
AGENT_EXECUTOR_TOTAL_TIME_LLMTime attributed to LlmNode processing, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_TOOLTime attributed to ToolNode processing, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_EXECTotal execution time, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_START_NODETime attributed to StartNode processing, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_END_NODETime attributed to EndNode processing, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_FLOW_NODETime attributed to FlowNode processing, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_PARALLEL_FLOW_NODETime attributed to ParallelFlowNode processing, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_MAP_NODETime attributed to MapNode processing, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_PARALLEL_MAP_NODETime attributed to ParallelMapNode processing, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BRANCH_NODETime attributed to BranchingNode processing, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_GET_KEY_ANSWERTime attributed to the get-key-answer operation, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_GET_KEY_ANSWER_FOUNDTime attributed to the get-key-answer-found operation, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_INSERT_CURRENT_QUESTION_LISTTime attributed to insertion into the current question list, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_GET_KEY_QUESTIONSTime attributed to the get-key-questions operation, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_VECTOR_SEARCH_SIMPLIFIEDTime attributed to the simplified vector-search operation, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_VECTOR_SEARCHTime attributed to the vector-search operation, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_MERGE_AND_DEDUPLICATE_CHUNKS_SIMPLIFIEDTime attributed to simplified chunk merging and deduplication, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_MERGE_AND_DEDUPLICATE_CHUNKSTime attributed to chunk merging and deduplication, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_FILTER_ALREADY_RETRIEVED_CHUNKS_SIMPLIFIEDTime attributed to simplified filtering of previously retrieved chunks, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_FILTER_ALREADY_RETRIEVED_CHUNKSTime attributed to filtering of previously retrieved chunks, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_MERGE_QUESTION_LISTSTime attributed to merging question lists, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_GROUP_CHUNKSTime attributed to grouping chunks, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_FLATTEN_QUERIESTime attributed to flattening queries, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_REMOVE_SOURCETime attributed to removing source information, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_GET_KEY_SELECT_CHOICESTime attributed to the get-key-select-choices operation, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_FILTER_UNWANTED_CHUNKSTime attributed to filtering unwanted chunks, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_FLATTEN_CHUNK_LISTSTime attributed to flattening chunk lists, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_MERGE_RETRIEVED_CONTEXT_SIMPLIFIEDTime attributed to simplified merging of retrieved context, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_MERGE_RETRIEVED_CONTEXTTime attributed to merging retrieved context, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_INC_COUNTTime attributed to the legacy increment-count operation, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_INCREMENT_COUNTERTime attributed to the increment-counter operation, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_GET_KEY_FINAL_ANSWER_READYTime attributed to checking whether the final answer is ready, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_GET_KEY_FEEDBACKTime attributed to the get-key-feedback operation, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_STRINGIFY_VALUETime attributed to conversion of a value to its string representation, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_PLSQL_EXECTime attributed to the plsql_exec operation, in milliseconds.
AGENT_EXECUTOR_INPUT_TOKENSNumber of LLM input tokens.
AGENT_EXECUTOR_OUTPUT_TOKENSNumber of LLM output tokens.
CON_IDIdentifier of the container associated with the row.

GV$AGENT_EXEC_STAT Columns

GV$AGENT_EXEC_STAT contains the following columns:

ColumnDescription
INST_IDIdentifier of the database instance associated with the row.
AGENT_EXECUTOR_LLM_CALL_COUNTNumber of LlmNode calls.
AGENT_EXECUTOR_TOOL_CALL_COUNTNumber of ToolNode calls.
AGENT_EXECUTOR_BRANCH_CALL_COUNTNumber of BranchingNode evaluations.
AGENT_EXECUTOR_BRANCH_DEFAULT_CALL_COUNTNumber of branching evaluations that selected the default branch.
AGENT_EXECUTOR_MAP_NODE_CALL_COUNTNumber of MapNode calls.
AGENT_EXECUTOR_PARALLEL_MAP_NODE_CALL_COUNTNumber of ParallelMapNode calls.
AGENT_EXECUTOR_START_NODE_CALL_COUNTNumber of StartNode calls.
AGENT_EXECUTOR_END_NODE_CALL_COUNTNumber of EndNode calls.
AGENT_EXECUTOR_FLOW_NODE_CALL_COUNTNumber of FlowNode calls.
AGENT_EXECUTOR_PARALLEL_FLOW_NODE_CALL_COUNTNumber of ParallelFlowNode calls.
AGENT_EXECUTOR_TOTAL_TIME_LLMTime attributed to LlmNode processing, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_TOOLTime attributed to ToolNode processing, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_EXECTotal execution time, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_START_NODETime attributed to StartNode processing, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_END_NODETime attributed to EndNode processing, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_FLOW_NODETime attributed to FlowNode processing, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_PARALLEL_FLOW_NODETime attributed to ParallelFlowNode processing, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_MAP_NODETime attributed to MapNode processing, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_PARALLEL_MAP_NODETime attributed to ParallelMapNode processing, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BRANCH_NODETime attributed to BranchingNode processing, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_GET_KEY_ANSWERTime attributed to the get-key-answer operation, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_GET_KEY_ANSWER_FOUNDTime attributed to the get-key-answer-found operation, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_INSERT_CURRENT_QUESTION_LISTTime attributed to insertion into the current question list, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_GET_KEY_QUESTIONSTime attributed to the get-key-questions operation, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_VECTOR_SEARCH_SIMPLIFIEDTime attributed to the simplified vector-search operation, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_VECTOR_SEARCHTime attributed to the vector-search operation, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_MERGE_AND_DEDUPLICATE_CHUNKS_SIMPLIFIEDTime attributed to simplified chunk merging and deduplication, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_MERGE_AND_DEDUPLICATE_CHUNKSTime attributed to chunk merging and deduplication, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_FILTER_ALREADY_RETRIEVED_CHUNKS_SIMPLIFIEDTime attributed to simplified filtering of previously retrieved chunks, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_FILTER_ALREADY_RETRIEVED_CHUNKSTime attributed to filtering of previously retrieved chunks, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_MERGE_QUESTION_LISTSTime attributed to merging question lists, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_GROUP_CHUNKSTime attributed to grouping chunks, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_FLATTEN_QUERIESTime attributed to flattening queries, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_REMOVE_SOURCETime attributed to removing source information, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_GET_KEY_SELECT_CHOICESTime attributed to the get-key-select-choices operation, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_FILTER_UNWANTED_CHUNKSTime attributed to filtering unwanted chunks, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_FLATTEN_CHUNK_LISTSTime attributed to flattening chunk lists, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_MERGE_RETRIEVED_CONTEXT_SIMPLIFIEDTime attributed to simplified merging of retrieved context, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_MERGE_RETRIEVED_CONTEXTTime attributed to merging retrieved context, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_INC_COUNTTime attributed to the legacy increment-count operation, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_INCREMENT_COUNTERTime attributed to the increment-counter operation, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_GET_KEY_FINAL_ANSWER_READYTime attributed to checking whether the final answer is ready, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_GET_KEY_FEEDBACKTime attributed to the get-key-feedback operation, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_STRINGIFY_VALUETime attributed to conversion of a value to its string representation, in milliseconds.
AGENT_EXECUTOR_TOTAL_TIME_BUILTIN_PLSQL_EXECTime attributed to the plsql_exec operation, in milliseconds.
AGENT_EXECUTOR_INPUT_TOKENSNumber of LLM input tokens.
AGENT_EXECUTOR_OUTPUT_TOKENSNumber of LLM output tokens.
CON_IDIdentifier of the container associated with the row.