* feat(telemetry)!: default to experimental GenAI semconv, with ADK_TELEMETRY_SCHEMA_VERSION_OPT_IN=otel_semconv_1_36 rollback
ADK now emits the experimental OpenTelemetry GenAI semantic conventions by
default, following adk-python's schema v2: one
gen_ai.client.inference.operation.details event per model call,
gen_ai.tool.call.arguments/result on execute_tool gated on span content
capture, and an entrypoint invoke_workflow span. Message content is
recorded as structured attribute values on spans as well as events, where
adk-python records JSON strings on spans.
ADK_TELEMETRY_SCHEMA_VERSION_OPT_IN=otel_semconv_1_36 restores the previous
format, and otel_semconv_1_44 names the default. Values are
case-insensitive, and adk-python's 1 and 2 are accepted for them. No
otel_semconv_1_36 golden changes in this commit.
A model call and a runner invocation are traced only through
InstrumentGenerateContent and InstrumentInvocation, so the generate_content
span and its log records cannot drift apart.
Closes#1634
* fix(telemetry): address review comments on docs and number conversion
* fix(telemetry): describe the request as the model left it in the inference event
* refactor(telemetry): record request messages on the span and the event through operationDetails
* fix(telemetry): report dropped span attributes through the OpenTelemetry error handler
* fix(telemetry): add error.type to workflow node and summarizer-panic spans
* feat(telemetry): report a streamed inference as adk-python does in the default schema
* test(telemetry): have MockModel report STOP on unstreamed responses, as a real model does