Align the Google GenAI integration with [RFC #153](<https://github.com/getsentry/rfcs/pull/153>). ### Attribute renames - [ ] `gen_ai.system` → `gen_ai.provider.name` - [ ] `gen_ai.request.available_tools` → `gen_ai.tool.definitions` (structured objects, not JSON string) - [ ] `gen_ai.response.text` → `gen_ai.output.messages` - [ ] `gen_ai.response.tool_calls` → `gen_ai.output.messages` - [ ] `gen_ai.usage.cache_creation_input_tokens` → `gen_ai.usage.input_tokens.cache_write` - [ ] `gen_ai.usage.cache_read_input_tokens` → `gen_ai.usage.input_tokens.cached` ### Required attributes - [ ] `gen_ai.operation.name` set on all spans - [ ] `gen_ai.provider.name` set on all AI Client spans - [ ] `gen_ai.response.streaming` set on all AI Client spans - [ ] `gen_ai.response.time_to_first_token` for streaming responses ### Message format - [ ] `content` → `parts` in `gen_ai.input.messages` and `gen_ai.output.messages` - [ ] System messages extracted to `gen_ai.system_instructions`
Align the Google GenAI integration with RFC #153.
Attribute renames
gen_ai.system→gen_ai.provider.namegen_ai.request.available_tools→gen_ai.tool.definitions(structured objects, not JSON string)gen_ai.response.text→gen_ai.output.messagesgen_ai.response.tool_calls→gen_ai.output.messagesgen_ai.usage.cache_creation_input_tokens→gen_ai.usage.input_tokens.cache_writegen_ai.usage.cache_read_input_tokens→gen_ai.usage.input_tokens.cachedRequired attributes
gen_ai.operation.nameset on all spansgen_ai.provider.nameset on all AI Client spansgen_ai.response.streamingset on all AI Client spansgen_ai.response.time_to_first_tokenfor streaming responsesMessage format
content→partsingen_ai.input.messagesandgen_ai.output.messagesgen_ai.system_instructions