Skip to content

[java/google-adk] Support replay-safe native ADK tracing #258

Open

Description

@DABH

Support ADK's native agent, model, and tool spans when an agent runs inside a Temporal Workflow. Temporal Workflow/Activity interceptor spans alone do not meet this requirement.

ADK Java 1.12.0's Tracing obtains its tracer from GlobalOpenTelemetry and creates native invoke_agent, call_llm, and execute_tool spans. With io.temporal:google-adk:0.1.0, agent orchestration and deterministic tools execute in Workflow code. The plugin has no replay suppression for those native spans, so installing an OpenTelemetry SDK can export them again during replay; this is a documented limitation.

Provide a supported way to configure native ADK tracing, suppress replay exports, and preserve trace context across model/tool Activity boundaries. Account for ADK's global tracer and context propagation across Workflow and RxJava threads without filtering unrelated application spans.

Acceptance criteria:

  • Run a real ADK LlmAgent with a scripted model and both deterministic and Activity tools, exporting to an in-memory/local sink without provider credentials.
  • Assert native ADK agent/model/tool operation names, useful ADK attributes, and their parent/child relationships. Temporal operation spans are optional and do not substitute for these assertions.
  • Force replay through cache eviction, Worker restart, and fresh-Worker history replay. Export no duplicate native spans, preserve useful parentage when execution resumes, and avoid telemetry I/O during replay.
  • Cover failed/retried model and tool calls, agent completion, and cancellation. Verify tracing configuration does not change Workflow commands or break replay of existing histories.
  • Document exporter setup and add live/offline native-ADK observability samples once the published plugin supports this behavior.

The Temporal-operation tracing sample is being removed from samples-java #811 and documentation #5587.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions