google-agents-cli-observability

par google

Cette compétence doit être utilisée lorsque l'utilisateur souhaite "configurer le tracing", "surveiller mon agent ADK", "paramétrer la journalisation", "ajouter de l'observabilité", "déboguer le trafic de production", ou a besoin de conseils sur la surveillance des agents ADK (Agent Development Kit) déployés. Couvre Cloud Trace, la journalisation des requêtes-réponses, BigQuery Agent Analytics, les intégrations tierces (AgentOps, Phoenix, MLflow, etc.), et le dépannage. Fait partie de la suite de compétences Google ADK (Agent Development Kit). Ne PAS utiliser pour la configuration du déploiement (utiliser...

npx skills add https://github.com/google/agents-cli --skill google-agents-cli-observability

Observability Guide

Cloud Trace works out of the box — no infrastructure needed. Prompt-response logging and BigQuery Agent Analytics require Terraform-provisioned infrastructure (service account, GCS bucket, BigQuery dataset). Run agents-cli infra single-project --apply --project PROJECT_ID to provision these resources. Go projects get the BigQuery telemetry stack too; the GCS completion upload behind prompt-response logging and the BigQuery Agent Analytics plugin are Python only. See references/cloud-trace-and-logging.md for details, env vars, and verification commands. If your project isn't scaffolded yet, see /google-agents-cli-scaffold first.

Deployment order

Do you want Terraform-managed observability?Action
NoRun agents-cli deploy directly (works for all targets).
YesRun agents-cli infra single-project --apply first, then agents-cli deploy.

If you already ran agents-cli deploy imperatively: Do not apply Terraform afterward. For Agent Runtime in Gemini platform, Terraform owns the whole engine (service account, deployment spec, env vars), so a later apply can't be reconciled without taking over the resource. Either delete the deployment and start over, or keep the SDK-deployed instance — skip infra single-project and set the observability env vars by re-running agents-cli deploy --update-env-vars "KEY=VALUE,..."; deploy matches the existing Reasoning Engine by display name and updates it in place, preserving env vars set outside the deploy. You must also grant its service account the telemetry IAM roles the Terraform module would otherwise provision: roles/storage.admin (write completions to the logs bucket), roles/logging.logWriter, roles/cloudtrace.agent, plus roles/bigquery.dataOwner + roles/bigquery.jobUser when scaffolded with --bq-analytics. The full set lives in deployment/terraform/single-project/iam.tf (from app_sa_roles) and telemetry.tf. Terraform-managed env vars aren't available in this mode.

Reference Files

FileContents
references/cloud-trace-and-logging.mdScaffolded project details — Terraform-provisioned resources, environment variables, verification commands, enabling/disabling locally
references/bigquery-agent-analytics.mdBQ Agent Analytics plugin — enabling, key features, GCS offloading, tool provenance
references/adk-docs.mdADK: adk.dev pages to fetch for detail beyond this skill
references/feedback-mechanism.mdAdding a user-feedback endpoint — request model, structured logging, log sink → BigQuery

Observability Tiers

Choose the right level of observability based on your needs:

TierWhat It DoesScopeDefault StateBest For
Cloud TraceDistributed tracing — execution flow, latency, errors via OpenTelemetry spansAll templates, all environmentsAlways enabledDebugging latency, understanding agent execution flow
Prompt-Response LoggingGenAI interactions exported to GCS, BigQuery, and Cloud LoggingScaffolded ADK Python and Claude projectsDisabled locally, enabled when deployedAuditing LLM interactions, compliance
BigQuery Agent AnalyticsStructured agent events (LLM calls, tool use, outcomes) to BigQueryADK Python agents with the plugin enabled; Claude template agentsOpt-in (--bq-analytics at scaffold time)Conversational analytics, custom dashboards, LLM-as-judge evals
Third-Party IntegrationsExternal observability platforms (AgentOps, Phoenix, MLflow, etc.)Any OpenTelemetry-instrumented agentOpt-in, per-provider setupTeam collaboration, specialized visualization, prompt management

Ask the user which tier(s) they need — they can be combined. Cloud Trace is always on; the others are additive.


Cloud Trace

Scaffolded agents use OpenTelemetry to emit distributed traces. Every agent invocation produces spans that track the full execution flow.

Span Hierarchy

ADK projects. These are ADK's span names; other frameworks emit their own (generate_content comes from the shared google-genai instrumentor either way).

invoke_workflow (top-level run)
  └── invoke_agent (one per agent in the chain)
        ├── call_llm (model request)
        │     └── generate_content (underlying GenAI model call)
        └── execute_tool (tool execution)

Setup by Deployment Type

DeploymentSetup
Agent RuntimeAutomatic — exporters wired at startup, gated on GOOGLE_CLOUD_AGENT_ENGINE_ENABLE_TELEMETRY (set by deploy); exports to Cloud Trace/Logging + the Agent Runtime page in the Google Cloud console
Cloud Run / GKE (scaffolded)Automatic — exporters wired at startup, exports to Cloud Trace/Logging
Cloud Run / GKE (manual)Configure OpenTelemetry exporter in your app
Local devWorks with agents-cli playground; traces visible in Cloud Console

Wired at app startup — ADK Python: get_fast_api_app(otel_to_cloud=True) in app/fast_api_app.py; ADK Go: setupObservability() in observability.go; other templates call their own. references/cloud-trace-and-logging.md has the details.

View traces: Cloud Console → Trace → Trace explorer

ADK: for detailed setup instructions (Agent Runtime CLI/SDK, Cloud Run, custom deployments), fetch https://adk.dev/integrations/cloud-trace/index.md.


Prompt-Response Logging

Captures GenAI interactions and exports to GCS (JSONL) and BigQuery (via log sinks + external tables). Content is governed by two independent tiers; the net Terraform-deploy default is full content in GCS/BigQuery, none in traces:

TierCapturesControlled byDefault (Terraform deploy)
GCS/BigQuery completionsFull prompts/responses (the prompt-response logging feature)OTEL_INSTRUMENTATION_GENAI_COMPLETION_HOOK=upload + LOGS_BUCKET_NAMEOn — full content
Trace spans / Cloud Logging eventsSpan/event contentOTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT (plus ADK_CAPTURE_MESSAGE_CONTENT_IN_SPANS=false, ADK Python only)Off — NO_CONTENT

The tiers are independent: GCS/BigQuery uploads capture full content whenever their upload vars are set and do not honor OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT, which governs the traces/events tier only.

ADK Python reads it as the experimental-semconv enum:

  • NO_CONTENT — no content in spans/events (scaffolded default)
  • EVENT_ONLY — content in Cloud Logging events
  • SPAN_ONLY / SPAN_AND_EVENT — content in trace spans
  • true / false — invalid; fall back to NO_CONTENT

ADK Go reads the same variable as a boolean: "1" or "true" capture content, every other value — including the enum members above — elides it.

For the full mechanics (semconv opt-in, declarative Terraform config, env-var table, enabling/disabling, verification commands), see references/cloud-trace-and-logging.md. For ADK logging docs (log levels, configuration, debugging), fetch https://adk.dev/observability/logging/index.md.


BigQuery Agent Analytics Plugin

ADK projects. Optional ADK plugin that logs structured agent events to BigQuery. Enable with --bq-analytics at scaffold time. See references/bigquery-agent-analytics.md for details.


Third-Party Integrations

Many third-party observability platforms can ingest agent telemetry (via OpenTelemetry or custom instrumentation). The table below covers common ones; the full list is larger (see the pointer below it).

PlatformKey DifferentiatorSetup ComplexitySelf-Hosted Option
AgentOpsSession replays, 2-line setup, replaces native telemetryMinimalNo (SaaS)
Arize AXCommercial platform, production monitoring, evaluation dashboardsLowNo (SaaS)
PhoenixOpen-source, custom evaluators, experiment testingLowYes
MLflowOTel traces to MLflow Tracking Server, span tree visualizationMedium (needs SQL backend)Yes
Monocle1-call setup, VS Code Gantt chart visualizerMinimalYes (local files)
WeaveW&B platform, team collaboration, timeline viewsLowNo (SaaS)
FreeplayPrompt management + evals + observability in one platformLowNo (SaaS)

Ask the user which platform they prefer — present the trade-offs and let them choose. ADK: fetch a platform's setup page at https://adk.dev/integrations/<slug>/index.md (slugs for the table above: agentops, arize-ax, phoenix, mlflow-tracing, monocle, weave, freeplay); ADK has more observability integrations (Datadog, Galileo, LangWatch, Latitude, Future AGI, Respan, Zespan, …) — browse the complete, current list at https://adk.dev/integrations/ (observability topic). On other frameworks the OpenTelemetry-based platforms still work, but follow the platform's own setup docs.


Troubleshooting

IssueSolution
No traces in Cloud TraceVerify telemetry setup runs at startup and the SA has the cloudtrace.agent role. ADK Python: fast_api_app.py uses get_fast_api_app(otel_to_cloud=True); ADK Go: observability.go build the exporter manually. Agent Runtime additionally gates this on GOOGLE_CLOUD_AGENT_ENGINE_ENABLE_TELEMETRY.
Prompt-response data not appearingCheck LOGS_BUCKET_NAME is set; verify SA has storage.objectCreator on the bucket; check app logs for telemetry setup warnings
Content in traces/events (unwanted)ADK Python: OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT=NO_CONTENT keeps content out of spans/events. ADK Go: any value other than 1/true does, so unset it or set false. NOTE: GCS/BigQuery completions still capture full content — to stop that, remove LOGS_BUCKET_NAME/OTEL_INSTRUMENTATION_GENAI_COMPLETION_HOOK (drop the upload block in service.tf)
BigQuery Analytics not loggingADK Python: verify the plugin is configured in app/agent.py; Claude: check the startup log for a BigQuery Agent Analytics warning. Both: check BQ_ANALYTICS_DATASET_ID env var is set
Third-party integration not capturing spansCheck provider-specific env vars (API keys, endpoints); some providers (AgentOps) replace native telemetry
Traces missing tool spansADK: tool execution spans appear under execute_tool (other frameworks use their own span names) — check trace explorer filters
High telemetry costsTurn content capture off (NO_CONTENT in Python, false in Go); reduce BigQuery retention; disable unused tiers

Related Skills

  • /google-agents-cli-deploy — Deployment targets, CI/CD pipelines, and production workflows
  • /google-agents-cli-workflow — Development workflow, coding guidelines, and operational rules
  • /google-agents-cli-adk-code — ADK API quick reference for writing agent code, Python and Go

Plus de skills de google

google-agents-cli-adk-code
google
Cette compétence doit être utilisée lorsque l'utilisateur souhaite "écrire du code d'agent", "construire un agent avec ADK", "ajouter un outil", "créer un callback", "définir un agent", "utiliser la gestion d'état", ou a besoin de motifs API Python ADK (Agent Development Kit) et d'exemples de code. Fait partie de la suite de compétences Google ADK. Fournit une référence rapide pour les types d'agents, les définitions d'outils, les motifs d'orchestration, les callbacks et la gestion d'état. Ne PAS utiliser pour créer de nouveaux projets (utiliser google-agents-cli-scaffold) ou pour le déploiement...
developmentapicode-review
google-agents-cli-eval
google
Cette compétence doit être utilisée lorsque l'utilisateur souhaite "exécuter une évaluation", "évaluer mon agent ADK", "écrire un jeu de données d'évaluation", "analyser des échecs d'évaluation", "comparer des résultats d'évaluation", "optimiser un agent", ou a besoin de conseils sur la méthodologie d'évaluation de la plateforme Agent et le Quality Flywheel. Couvre les métriques d'évaluation, le schéma de jeu de données, la notation LLM-en-tant-que-juge et les causes d'échec courantes. Ne PAS utiliser pour les motifs de code API (utiliser google-agents-cli-adk-code), le déploiement (utiliser google-agents-cli-deploy) ou la création de projet (utiliser...
developmenttestingdata-analysis
google-agents-cli-workflow
google
Cette compétence doit être utilisée lorsque l'utilisateur souhaite « développer un agent », « construire un agent avec ADK », « exécuter l'agent localement », « déboguer le code de l'agent », « tester un agent », « déployer un agent », « publier un agent », « surveiller un agent », ou a besoin du cycle de vie de développement ADK (Agent Development Kit) et des directives de codage. Point d'entrée pour la construction d'agents ADK. Toujours active — fournit le workflow complet (scaffold, build, evaluate, deploy, publish, observe), les règles de préservation du code, les conseils de sélection de modèle, et...
developmentdevopstesting
google-agents-cli-deploy
google
Cette compétence doit être utilisée lorsque l'utilisateur souhaite "déployer un agent", "déployer mon agent ADK", "mettre en place CI/CD", "configurer des secrets", "résoudre un problème de déploiement", ou a besoin de conseils sur Agent Runtime, Cloud Run, ou les cibles de déploiement GKE. Couvre les workflows de déploiement, les comptes de service, le rollback et l'infrastructure de production. Fait partie de la suite de compétences Google ADK (Agent Development Kit). Ne PAS utiliser pour les modèles de code API (utiliser google-agents-cli-adk-code), l'évaluation (utiliser google-agents-cli-eval), ou...
developmentdevops
google-agents-cli-scaffold
google
This skill should be used when the user wants to "create an agent project", "start a new ADK project", "build me a new agent", "add CI/CD to my project", "add deployment", "enhance my project", or "upgrade my project". Part of the Google ADK (Agent Development Kit) skills suite. Covers `agents-cli scaffold create`, `scaffold enhance`, and `scaffold upgrade` commands, template options, deployment targets, and the prototype-first workflow. Do NOT use for writing agent code (use...
developmentdevops
google-agents-cli-publish
google
Cette compétence doit être utilisée lorsque l'utilisateur souhaite "publier un agent", "publier mon agent ADK", "enregistrer un agent avec Gemini Enterprise", "publier sur Gemini Enterprise", ou a besoin de conseils sur la commande agents-cli publish gemini-enterprise. Couvre les modes d'enregistrement ADK vs A2A, l'utilisation programmatique et interactive, la référence des indicateurs, la détection automatique à partir des métadonnées de déploiement, et le dépannage. Fait partie de la suite de compétences Google ADK (Agent Development Kit). Ne PAS utiliser pour le déploiement (utiliser...
developmentdevopsapi