Trace result of the inference in generate_content span.
(span: Span | None, llm_response: LlmResponse)
| 812 | "Replaced by trace_inference_result to support experimental semconv." |
| 813 | ) |
| 814 | def trace_generate_content_result(span: Span | None, llm_response: LlmResponse): |
| 815 | """Trace result of the inference in generate_content span.""" |
| 816 | |
| 817 | if span is None: |
| 818 | return |
| 819 | |
| 820 | if llm_response.partial: |
| 821 | return |
| 822 | |
| 823 | if finish_reason := llm_response.finish_reason: |
| 824 | span.set_attribute(GEN_AI_RESPONSE_FINISH_REASONS, [finish_reason.lower()]) |
| 825 | _set_usage_metadata_attributes(span, llm_response.usage_metadata) |
| 826 | |
| 827 | otel_logger.emit( |
| 828 | LogRecord( |
| 829 | event_name=GEN_AI_CHOICE_EVENT, |
| 830 | body=choice_body(llm_response, TelemetryConfig()), |
| 831 | attributes={GEN_AI_SYSTEM: _guess_gemini_system_name()}, |
| 832 | ) |
| 833 | ) |
| 834 | |
| 835 | |
| 836 | def trace_inference_result( |
nothing calls this directly
no test coverage detected