Releases: evalops/eval2otel
Releases · evalops/eval2otel
v0.3.0
What’s new
- Deterministic content sampling based on
EvalResult.idwhen usingsampleContentRate. - New
contentSamplerhook for full control over sampling decisions. - Optional content truncation via
contentMaxLengthfor messages and tool arguments. - Optional
markTruncatedContentflag to emitgen_ai.message.content_truncated=truewhen truncation occurs. - Per-field redaction hooks:
redactMessageContentandredactToolArgumentswith contextual info. emitOperationalMetadataflag to suppress conversation/choice/agent/RAG events even when capture is enabled.- Standardized tool call event attributes:
gen_ai.tool.name,gen_ai.tool.call.id,gen_ai.tool.arguments, plusgen_ai.response.choice.index. - Cache for custom evaluation histograms to avoid instrument churn.
- SDK initialization: merge
Resource.default()with custom attributes; supportexporterProtocolandexporterHeaders. - CI: Add type-check step and
npm pack --dry-run; enforce coverage thresholds. - Tests: coverage for validation events, converter events (attributes, truncation, sampling, redaction), metrics branches, and SDK init.
Breaking/behavioral changes
- Conversation and assistant event attribute names are normalized to
gen_ai.*:- Conversation:
gen_ai.message.role,gen_ai.message.index,gen_ai.message.content,gen_ai.tool.call.id. - Assistant:
gen_ai.response.choice.index,gen_ai.response.finish_reason,gen_ai.message.role,gen_ai.message.content.
- Conversation:
- Ensure
performance.durationis provided in seconds (agent step durations remain in milliseconds).
Upgrade notes
- If you referenced previous event attribute keys (e.g.,
content,role,choice.index), update to the newgen_ai.*names. - Consider enabling
emitOperationalMetadata=falsein sensitive environments to suppress message/agent/RAG events. - To limit payload size, set
contentMaxLengthand optionallymarkTruncatedContent=trueto flag truncated entries. - For deterministic sampling across runs, rely on
sampleContentRate(now deterministic byid) or implement a customcontentSampler.
Thanks
Thanks to everyone trying out eval2otel and filing issues/feedback!