Skip to content

docs(observability): correct metric names, span attributes, logger names - #2013

Open
GWeale wants to merge 2 commits into
google:mainfrom
GWeale:docs-audit-observability
Open

docs(observability): correct metric names, span attributes, logger names#2013
GWeale wants to merge 2 commits into
google:mainfrom
GWeale:docs-audit-observability

Conversation

@GWeale

@GWeale GWeale commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Fixes drift on the three observability pages (metrics.md, traces.md, logging.md) where documented telemetry identifiers did not match what ADK actually emits.

Changes

  • docs/observability/metrics.md — all 5 documented metric names (gen_ai.agent.invocation.duration, gen_ai.tool.execution.duration, gen_ai.agent.request.size, gen_ai.agent.response.size, gen_ai.agent.workflow.steps) are never emitted; replaced with the 7 instruments that are, with their real attributes and units. Also: --otel_to_cloud was documented as the way to export metrics to Cloud Monitoring — it exports traces and logs only, so that section now points at the programmatic enable_cloud_metrics=True path.
  • docs/observability/traces.md — span names carry a suffix (invoke_agent {agent.name}, invoke_workflow {workflow.name}, execute_tool {tool.name}); attribute lists corrected (gen_ai.system was listed on spans that set gen_ai.operation.name instead, and generate_content was credited with user.id / gen_ai.request.top_p / gen_ai.request.max_tokens it does not set).
  • docs/observability/logging.md — logger names were shown as google_adk.models.google_llm; the real name is google_adk. plus the fully-qualified module (google_adk.google.adk.models.google_llm), so the sample entry, the format table and the debugging example are updated, plus a note that logging.getLogger("google_adk") configures them as a group. Also documents the accepted values of OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT (and the OTEL_SEMCONV_STABILITY_OPT_IN requirement for span capture), and the per-run RunConfig.telemetry alternative to the process-wide env var.

How this was produced

Part of a page-by-page audit of the Python docs against the google/adk-python v2.5.0 source: every import resolved against a real 2.5.0 install, every constructor kwarg checked against model_fields / inspect.signature, every documented default read off the field. A second independent pass re-derived each claim from source rather than trusting the finding, and a third conformed the new wording to the surrounding pages. mkdocs build --strict is clean.

Only Python tabs and language-neutral prose were touched — this audit had no ground truth for the Go / Java / TypeScript SDKs.

Split out of a larger audit branch so each area can be reviewed on its own.

@netlify

netlify Bot commented Jul 28, 2026

Copy link
Copy Markdown

Deploy Preview for adk-docs-preview ready!

Name Link
🔨 Latest commit 4508ff4
🔍 Latest deploy log https://app.netlify.com/projects/adk-docs-preview/deploys/6a6a9985acc4ca00090f16fc
😎 Deploy Preview https://deploy-preview-2013--adk-docs-preview.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant