All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Add support for workflow in genAI utils handler. (https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4366)
- Enrich ToolCall type, breaking change: usage of ToolCall class renamed to ToolCallRequest (#4218)
- Add EmbeddingInvocation span lifecycle support (https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4219)
- Populate schema_url on metrics (#4320)
- Add workflow invocation type to genAI utils (https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4310)
- Check if upload works at startup in initializer of the
UploadCompletionHook, instead of repeatedly failing on every upload (https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4390).
- Add
gen_ai.tool_definitionsto completion hook (#4181) - Add support for emitting inference events and enrich message types. (#3994)
- Add support for
server.address,server.porton all signals and additional metric-only attributes (#4069) - Log error when
fsspecfails to be imported instead of silently failing (#4037). - Minor change to check LRU cache in Completion Hook before acquiring semaphore/thread (#3907).
- Add environment variable for genai upload hook queue size (https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3943)
- Add more Semconv attributes to LLMInvocation spans. (https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3862)
- Limit the upload hook thread pool to 64 workers (https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3944)
- Add metrics to LLMInvocation traces (https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3891)
- Add parent class genAI invocation (https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3889)
- Add jsonlines support to fsspec uploader (https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3791)
- Rename "fsspec_upload" entry point and classes to more generic "upload" (https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3798)
- Record content-type and use canonical paths in fsspec genai uploader (https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3795)
- Make inputs / outputs / system instructions optional params to
on_completion, (https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3802). - Use a SHA256 hash of the system instructions as it's upload filename, and check if the file exists before re-uploading it, (https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3814).
-
Add completion hook to genai utils to implement semconv v1.37.
Includes a hook implementation using
fsspecto support uploading to various pluggable backends. -
Add a utility to parse the
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENTenvironment variable. Addgen_ai_latest_experimentalas a new value to the Sem Conv stability flag (#3716).
- Generate Spans for LLM invocations
- Helper functions for starting and finishing LLM invocations