fix(telemetry): End the inference span when the inference ends

The native instrumentation kept the generate_content span open until the
caller was done with the LlmResponse -- so a tool the model asked for ran
*inside* the inference span, and the span's duration included it. That is
not what the span means, and it is not what
opentelemetry-instrumentation-google-genai does: its span ends when the SDK
call returns.

The span now closes on the first non-partial response, before it is handed
back. Partial chunks keep it open until the final one arrives; anything
after the close still counts for the metrics but is no longer recorded on
the span. The unwinding moves to an ExitStack so the completion-details log
is still emitted while the span is open.

The goldens show the whole change: execute_tool moves out of
generate_content and becomes its sibling.

Co-authored-by: Max Ind <maxind@google.com>
PiperOrigin-RevId: 966063782
This commit is contained in:
Max Ind
2026-08-17 10:53:26 -07:00
committed by Copybara-Service
parent 0684adf8e2
commit ecc730ceac
32 changed files with 720 additions and 717 deletions
@@ -132,6 +132,7 @@ class TelemetryContext:
span: tracing.GenerateContentSpan | trace.Span | None = None
skill_telemetry: SkillTelemetry | None = None
_llm_responses: list[LlmResponse] = dataclasses.field(default_factory=list)
_inference_span_ended: bool = False
_inference_call_count: int = 0
_tool_call_count: int = 0
@@ -157,7 +158,21 @@ class TelemetryContext:
self, invocation_context: InvocationContext, response: LlmResponse
) -> None:
self._llm_responses.append(response)
# Anything after the span ended (a second complete response for the same
# call) can no longer be recorded on it, but still counts for the metrics.
if self._inference_span_ended:
return
tracing.trace_inference_result(invocation_context, self.span, response)
# A non-partial response is the end of the inference: end the span before
# the response is handed back to the caller, so what the caller does with
# it (running the tool the model asked for) is not nested inside the
# inference span. Partial chunks keep it open until the final one arrives.
if not response.partial and isinstance(
self.span, tracing.GenerateContentSpan
):
self.span._close() # pylint: disable=protected-access
self._inference_span_ended = True
def _record_agent_metrics(
+39 -19
View File
@@ -24,10 +24,12 @@
from __future__ import annotations
from collections.abc import AsyncIterator
from collections.abc import Callable
from collections.abc import Iterator
from collections.abc import Mapping
from contextlib import asynccontextmanager
from contextlib import contextmanager
from contextlib import ExitStack
import logging
import re
from typing import Final
@@ -702,12 +704,19 @@ async def use_inference_span(
if invocation_context.session.user_id is not None:
log_only_common_attributes[USER_ID] = invocation_context.session.user_id
if _should_emit_native_telemetry(invocation_context.agent):
async with _use_native_generate_content_span(
llm_request=llm_request,
common_attributes=common_attributes,
log_only_common_attributes=log_only_common_attributes,
telemetry_config=telemetry_config,
) as gc_span:
# Unwound through an ExitStack rather than a nested `with`, so that
# `GenerateContentSpan.end()` can close the span (and emit its completion
# details) as soon as the inference is done, instead of when the caller is
# done with the response.
with ExitStack() as stack:
gc_span = stack.enter_context(
_use_native_generate_content_span(
llm_request=llm_request,
common_attributes=common_attributes,
log_only_common_attributes=log_only_common_attributes,
telemetry_config=telemetry_config,
)
)
if telemetry_config.should_use_experimental_genai_semconv:
set_operation_details_common_attributes(
gc_span.operation_details_common_attributes,
@@ -715,16 +724,20 @@ async def use_inference_span(
common_attributes,
log_only_attributes=log_only_common_attributes,
)
try:
yield gc_span
finally:
maybe_log_completion_details(
gc_span.span,
otel_logger,
gc_span.operation_details_attributes,
gc_span.operation_details_common_attributes,
telemetry_config,
)
# Registered last, so it unwinds first: while the span is still open.
stack.callback(
lambda: maybe_log_completion_details(
gc_span.span,
otel_logger,
gc_span.operation_details_attributes,
gc_span.operation_details_common_attributes,
telemetry_config,
)
)
# `ExitStack.close()` empties the stack, so calling it again (here on
# exit, after `_end()` already did) is a no-op.
gc_span._close = stack.close # pyright: ignore[reportPrivateUsage]
yield gc_span
else:
with _use_extra_generate_content_attributes(
common_attributes,
@@ -857,13 +870,13 @@ def _use_native_generate_content_span_stable_semconv(
yield gc_span
@asynccontextmanager
async def _use_native_generate_content_span(
@contextmanager
def _use_native_generate_content_span(
llm_request: LlmRequest,
common_attributes: Mapping[str, AttributeValue],
telemetry_config: TelemetryConfig,
log_only_common_attributes: Mapping[str, AttributeValue] | None = None,
) -> AsyncIterator[GenerateContentSpan]:
) -> Iterator[GenerateContentSpan]:
if not telemetry_config.should_use_experimental_genai_semconv:
with _use_native_generate_content_span_stable_semconv(
llm_request,
@@ -899,6 +912,13 @@ class GenerateContentSpan:
self.span: Final = span
self.operation_details_attributes: dict[str, AttributeValue] = {}
self.operation_details_common_attributes: dict[str, AttributeValue] = {}
# Ends the span, idempotently, without waiting for `use_inference_span` to
# exit. Installed by span, which owns it. Calling it as soon as the
# inference is done keeps what the caller then does with the response
# (running the tool it asked for) out of the span, like
# opentelemetry-instrumentation-google-genai, whose span ends when the SDK
# call returns.
self._close: Callable[[], None] = lambda: None
@deprecated(
@@ -34,6 +34,25 @@
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
},
{
"name": "generate_content mock",
"attributes": {
@@ -59,27 +78,7 @@
]
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
}
],
"children": [],
"logs": [
{
"event_name": "gen_ai.client.inference.operation.details",
@@ -38,6 +38,25 @@
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
},
{
"name": "generate_content mock",
"attributes": {
@@ -63,27 +82,7 @@
]
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
}
],
"children": [],
"logs": [
{
"event_name": "gen_ai.client.inference.operation.details",
@@ -34,6 +34,25 @@
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
},
{
"name": "generate_content mock",
"attributes": {
@@ -59,27 +78,7 @@
]
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
}
],
"children": [],
"logs": [
{
"event_name": "gen_ai.client.inference.operation.details",
@@ -38,6 +38,25 @@
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
},
{
"name": "generate_content mock",
"attributes": {
@@ -63,27 +82,7 @@
]
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
}
],
"children": [],
"logs": [
{
"event_name": "gen_ai.client.inference.operation.details",
@@ -34,6 +34,25 @@
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
},
{
"name": "generate_content mock",
"attributes": {
@@ -105,27 +124,7 @@
]
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
}
],
"children": [],
"logs": [
{
"event_name": "gen_ai.client.inference.operation.details",
@@ -38,6 +38,25 @@
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
},
{
"name": "generate_content mock",
"attributes": {
@@ -109,27 +128,7 @@
]
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
}
],
"children": [],
"logs": [
{
"event_name": "gen_ai.client.inference.operation.details",
@@ -34,6 +34,25 @@
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
},
{
"name": "generate_content mock",
"attributes": {
@@ -105,27 +124,7 @@
]
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
}
],
"children": [],
"logs": [
{
"event_name": "gen_ai.client.inference.operation.details",
@@ -38,6 +38,25 @@
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
},
{
"name": "generate_content mock",
"attributes": {
@@ -109,27 +128,7 @@
]
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
}
],
"children": [],
"logs": [
{
"event_name": "gen_ai.client.inference.operation.details",
@@ -34,6 +34,25 @@
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
},
{
"name": "generate_content mock",
"attributes": {
@@ -53,27 +72,7 @@
"gen_ai.usage.reasoning.output_tokens": 5
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
}
],
"children": [],
"logs": [
{
"event_name": "gen_ai.choice",
@@ -38,6 +38,25 @@
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
},
{
"name": "generate_content mock",
"attributes": {
@@ -57,27 +76,7 @@
"gen_ai.usage.reasoning.output_tokens": 5
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
}
],
"children": [],
"logs": [
{
"event_name": "gen_ai.choice",
@@ -34,6 +34,25 @@
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
},
{
"name": "generate_content mock",
"attributes": {
@@ -53,27 +72,7 @@
"gen_ai.usage.reasoning.output_tokens": 5
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
}
],
"children": [],
"logs": [
{
"event_name": "gen_ai.choice",
@@ -38,6 +38,25 @@
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
},
{
"name": "generate_content mock",
"attributes": {
@@ -57,27 +76,7 @@
"gen_ai.usage.reasoning.output_tokens": 5
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
}
],
"children": [],
"logs": [
{
"event_name": "gen_ai.choice",
@@ -38,6 +38,25 @@
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"error.type": "ValueError",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "ERROR",
"children": [],
"logs": []
},
{
"name": "generate_content mock",
"attributes": {
@@ -57,27 +76,7 @@
"gen_ai.usage.reasoning.output_tokens": 5
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"error.type": "ValueError",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "ERROR",
"children": [],
"logs": []
}
],
"children": [],
"logs": [
{
"event_name": "gen_ai.choice",
@@ -43,6 +43,25 @@
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
},
{
"name": "generate_content mock",
"attributes": {
@@ -68,27 +87,7 @@
]
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
}
],
"children": [],
"logs": [
{
"event_name": "gen_ai.client.inference.operation.details",
@@ -38,6 +38,25 @@
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
},
{
"name": "generate_content mock",
"attributes": {
@@ -63,27 +82,7 @@
]
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
}
],
"children": [],
"logs": [
{
"event_name": "gen_ai.client.inference.operation.details",
@@ -43,6 +43,25 @@
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
},
{
"name": "generate_content mock",
"attributes": {
@@ -68,27 +87,7 @@
]
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
}
],
"children": [],
"logs": [
{
"event_name": "gen_ai.client.inference.operation.details",
@@ -38,6 +38,25 @@
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
},
{
"name": "generate_content mock",
"attributes": {
@@ -63,27 +82,7 @@
]
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
}
],
"children": [],
"logs": [
{
"event_name": "gen_ai.client.inference.operation.details",
@@ -43,6 +43,25 @@
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
},
{
"name": "generate_content mock",
"attributes": {
@@ -114,27 +133,7 @@
]
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
}
],
"children": [],
"logs": [
{
"event_name": "gen_ai.client.inference.operation.details",
@@ -38,6 +38,25 @@
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
},
{
"name": "generate_content mock",
"attributes": {
@@ -109,27 +128,7 @@
]
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
}
],
"children": [],
"logs": [
{
"event_name": "gen_ai.client.inference.operation.details",
@@ -43,6 +43,25 @@
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
},
{
"name": "generate_content mock",
"attributes": {
@@ -114,27 +133,7 @@
]
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
}
],
"children": [],
"logs": [
{
"event_name": "gen_ai.client.inference.operation.details",
@@ -38,6 +38,25 @@
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
},
{
"name": "generate_content mock",
"attributes": {
@@ -109,27 +128,7 @@
]
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
}
],
"children": [],
"logs": [
{
"event_name": "gen_ai.client.inference.operation.details",
@@ -43,6 +43,25 @@
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
},
{
"name": "generate_content mock",
"attributes": {
@@ -62,27 +81,7 @@
"gen_ai.usage.reasoning.output_tokens": 5
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
}
],
"children": [],
"logs": [
{
"event_name": "gen_ai.choice",
@@ -38,6 +38,25 @@
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
},
{
"name": "generate_content mock",
"attributes": {
@@ -57,27 +76,7 @@
"gen_ai.usage.reasoning.output_tokens": 5
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
}
],
"children": [],
"logs": [
{
"event_name": "gen_ai.choice",
@@ -43,6 +43,25 @@
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
},
{
"name": "generate_content mock",
"attributes": {
@@ -62,27 +81,7 @@
"gen_ai.usage.reasoning.output_tokens": 5
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
}
],
"children": [],
"logs": [
{
"event_name": "gen_ai.choice",
@@ -38,6 +38,25 @@
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
},
{
"name": "generate_content mock",
"attributes": {
@@ -57,27 +76,7 @@
"gen_ai.usage.reasoning.output_tokens": 5
},
"status": "UNSET",
"children": [
{
"name": "execute_tool some_tool",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "A sample tool.",
"gen_ai.tool.name": "some_tool",
"gen_ai.tool.type": "FunctionTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
}
],
"children": [],
"logs": [
{
"event_name": "gen_ai.choice",
@@ -31,6 +31,27 @@
},
"status": "UNSET",
"children": [
{
"name": "execute_tool load_skill",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "Loads the SKILL.md instructions for a given skill.",
"gen_ai.tool.name": "load_skill",
"gen_ai.tool.type": "LoadSkillTool",
"gen_ai.agent.name": "some_root_agent",
"error.type": "REGISTRY_ERROR",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}",
"adk.experimental.skill.name": "nonexistent-skill"
},
"status": "ERROR",
"children": [],
"logs": []
},
{
"name": "generate_content mock",
"attributes": {
@@ -43,29 +64,7 @@
"gcp.vertex.agent.invocation_id": "PRESENT"
},
"status": "UNSET",
"children": [
{
"name": "execute_tool load_skill",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "Loads the SKILL.md instructions for a given skill.",
"gen_ai.tool.name": "load_skill",
"gen_ai.tool.type": "LoadSkillTool",
"gen_ai.agent.name": "some_root_agent",
"error.type": "REGISTRY_ERROR",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}",
"adk.experimental.skill.name": "nonexistent-skill"
},
"status": "ERROR",
"children": [],
"logs": []
}
],
"children": [],
"logs": [
{
"event_name": "gen_ai.choice",
@@ -31,6 +31,30 @@
},
"status": "UNSET",
"children": [
{
"name": "execute_tool load_skill",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "Loads the SKILL.md instructions for a given skill.",
"gen_ai.tool.name": "load_skill",
"gen_ai.tool.type": "LoadSkillTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}",
"adk.experimental.skill.name": "registry-skill",
"adk.experimental.skill.description": "A sample skill.",
"adk.experimental.skill.source.uri": "https://fake-registry.com/skill/registry-skill",
"adk.experimental.skill.cache_hit": false,
"adk.experimental.skill.additional_tools": []
},
"status": "UNSET",
"children": [],
"logs": []
},
{
"name": "generate_content mock",
"attributes": {
@@ -43,32 +67,7 @@
"gcp.vertex.agent.invocation_id": "PRESENT"
},
"status": "UNSET",
"children": [
{
"name": "execute_tool load_skill",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "Loads the SKILL.md instructions for a given skill.",
"gen_ai.tool.name": "load_skill",
"gen_ai.tool.type": "LoadSkillTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}",
"adk.experimental.skill.name": "registry-skill",
"adk.experimental.skill.description": "A sample skill.",
"adk.experimental.skill.source.uri": "https://fake-registry.com/skill/registry-skill",
"adk.experimental.skill.cache_hit": false,
"adk.experimental.skill.additional_tools": []
},
"status": "UNSET",
"children": [],
"logs": []
}
],
"children": [],
"logs": [
{
"event_name": "gen_ai.choice",
@@ -116,6 +115,30 @@
},
"status": "UNSET",
"children": [
{
"name": "execute_tool load_skill",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "Loads the SKILL.md instructions for a given skill.",
"gen_ai.tool.name": "load_skill",
"gen_ai.tool.type": "LoadSkillTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}",
"adk.experimental.skill.name": "registry-skill",
"adk.experimental.skill.description": "A sample skill.",
"adk.experimental.skill.source.uri": "https://fake-registry.com/skill/registry-skill",
"adk.experimental.skill.cache_hit": true,
"adk.experimental.skill.additional_tools": []
},
"status": "UNSET",
"children": [],
"logs": []
},
{
"name": "generate_content mock",
"attributes": {
@@ -128,32 +151,7 @@
"gcp.vertex.agent.invocation_id": "PRESENT"
},
"status": "UNSET",
"children": [
{
"name": "execute_tool load_skill",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "Loads the SKILL.md instructions for a given skill.",
"gen_ai.tool.name": "load_skill",
"gen_ai.tool.type": "LoadSkillTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}",
"adk.experimental.skill.name": "registry-skill",
"adk.experimental.skill.description": "A sample skill.",
"adk.experimental.skill.source.uri": "https://fake-registry.com/skill/registry-skill",
"adk.experimental.skill.cache_hit": true,
"adk.experimental.skill.additional_tools": []
},
"status": "UNSET",
"children": [],
"logs": []
}
],
"children": [],
"logs": [
{
"event_name": "gen_ai.choice",
@@ -27,6 +27,25 @@
},
"status": "UNSET",
"children": [
{
"name": "execute_tool load_skill",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "Loads the SKILL.md instructions for a given skill.",
"gen_ai.tool.name": "load_skill",
"gen_ai.tool.type": "LoadSkillTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
},
{
"name": "generate_content mock",
"attributes": {
@@ -39,27 +58,7 @@
"gcp.vertex.agent.invocation_id": "PRESENT"
},
"status": "UNSET",
"children": [
{
"name": "execute_tool load_skill",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "Loads the SKILL.md instructions for a given skill.",
"gen_ai.tool.name": "load_skill",
"gen_ai.tool.type": "LoadSkillTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
}
],
"children": [],
"logs": [
{
"event_name": "gen_ai.choice",
@@ -107,6 +106,25 @@
},
"status": "UNSET",
"children": [
{
"name": "execute_tool load_skill",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "Loads the SKILL.md instructions for a given skill.",
"gen_ai.tool.name": "load_skill",
"gen_ai.tool.type": "LoadSkillTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
},
{
"name": "generate_content mock",
"attributes": {
@@ -119,27 +137,7 @@
"gcp.vertex.agent.invocation_id": "PRESENT"
},
"status": "UNSET",
"children": [
{
"name": "execute_tool load_skill",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "Loads the SKILL.md instructions for a given skill.",
"gen_ai.tool.name": "load_skill",
"gen_ai.tool.type": "LoadSkillTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}"
},
"status": "UNSET",
"children": [],
"logs": []
}
],
"children": [],
"logs": [
{
"event_name": "gen_ai.choice",
@@ -27,6 +27,32 @@
},
"status": "UNSET",
"children": [
{
"name": "execute_tool load_skill",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "Loads the SKILL.md instructions for a given skill.",
"gen_ai.tool.name": "load_skill",
"gen_ai.tool.type": "LoadSkillTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}",
"adk.experimental.skill.name": "local-skill",
"adk.experimental.skill.description": "A sample skill.",
"adk.experimental.skill.source.uri": "file://local-skill",
"adk.experimental.skill.additional_tools": [
"foo",
"bar"
]
},
"status": "UNSET",
"children": [],
"logs": []
},
{
"name": "generate_content mock",
"attributes": {
@@ -39,34 +65,7 @@
"gcp.vertex.agent.invocation_id": "PRESENT"
},
"status": "UNSET",
"children": [
{
"name": "execute_tool load_skill",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "Loads the SKILL.md instructions for a given skill.",
"gen_ai.tool.name": "load_skill",
"gen_ai.tool.type": "LoadSkillTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}",
"adk.experimental.skill.name": "local-skill",
"adk.experimental.skill.description": "A sample skill.",
"adk.experimental.skill.source.uri": "file://local-skill",
"adk.experimental.skill.additional_tools": [
"foo",
"bar"
]
},
"status": "UNSET",
"children": [],
"logs": []
}
],
"children": [],
"logs": [
{
"event_name": "gen_ai.choice",
@@ -31,6 +31,32 @@
},
"status": "UNSET",
"children": [
{
"name": "execute_tool load_skill",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "Loads the SKILL.md instructions for a given skill.",
"gen_ai.tool.name": "load_skill",
"gen_ai.tool.type": "LoadSkillTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}",
"adk.experimental.skill.name": "local-skill",
"adk.experimental.skill.description": "A sample skill.",
"adk.experimental.skill.source.uri": "file://local-skill",
"adk.experimental.skill.additional_tools": [
"foo",
"bar"
]
},
"status": "UNSET",
"children": [],
"logs": []
},
{
"name": "generate_content mock",
"attributes": {
@@ -43,34 +69,7 @@
"gcp.vertex.agent.invocation_id": "PRESENT"
},
"status": "UNSET",
"children": [
{
"name": "execute_tool load_skill",
"attributes": {
"gen_ai.operation.name": "execute_tool",
"gen_ai.tool.description": "Loads the SKILL.md instructions for a given skill.",
"gen_ai.tool.name": "load_skill",
"gen_ai.tool.type": "LoadSkillTool",
"gen_ai.agent.name": "some_root_agent",
"gcp.vertex.agent.llm_request": "{}",
"gcp.vertex.agent.llm_response": "{}",
"gcp.vertex.agent.tool_call_args": "{}",
"gen_ai.tool.call.id": "PRESENT",
"gcp.vertex.agent.event_id": "PRESENT",
"gcp.vertex.agent.tool_response": "{}",
"adk.experimental.skill.name": "local-skill",
"adk.experimental.skill.description": "A sample skill.",
"adk.experimental.skill.source.uri": "file://local-skill",
"adk.experimental.skill.additional_tools": [
"foo",
"bar"
]
},
"status": "UNSET",
"children": [],
"logs": []
}
],
"children": [],
"logs": [
{
"event_name": "gen_ai.choice",