Bug Fixes
- CI Visibility: fix the default HTTP timeout for backend requests from 15 seconds to 30 seconds, and add the
DD_CIVISIBILITY_BACKEND_API_TIMEOUT_MILLISenvironment variable (previously missing) to override it. The value is expressed in milliseconds (e.g.60000for 60 seconds), consistent with the Java tracer. The same timeout now applies uniformly to all backend requests, including skippable test fetches.
- pydantic_ai: Fixes APM span naming so the operation name is the generic category (
pydantic_ai.tool/pydantic_ai.agent) and the resource name is the specific tool or agent name, matching Datadog APM convention. This restores per-tool and per-agent grouping on APM service and resource pages. LLM Observability views are unaffected.
- sqlalchemy: Fixes duplicate SQLAlchemy event listeners when
trace_engine()is called repeatedly for the same engine.
- LLM Observability: Fixes an issue where spans with very large JSON depth nested fields were being submitted but dropped by Datadog. The LLM Observability integration now detects nested fields that exceed the allowed depth and stringifies them, ensuring spans will not be dropped due to JSON depth limits in Datadog.