mirror of
https://github.com/BerriAI/litellm.git
synced 2026-11-02 07:13:02 +00:00
* refactor: separate OTLP HTTP decoding from trace codec * feat: complete trace ingestion and read paths * fix: encode OTLP protobuf errors in Rust * fix: raise OTLP body limit to 16 MiB * test: cover OTLP auth body parsing boundary * refactor: parse OTLP media type into enum * fix: enforce OTLP body size at HTTP boundary * perf: preserve shared OTLP metadata across ingestion * bench: compare owned and shared trace resource fanout * refactor: extract shared storage and Python conversion caches * refactor: keep shared storage owned by traces * test: keep trace loopback coverage in Rust * test(proxy): adapt trace coverage to injected access context * fix(tracing): satisfy stacked branch lint checks * refactor(tracing): use immutable ingestion payloads * fix(tracing): declare native error encoder export * test(proxy): resolve trace access through dependency * fix(tracing): align merged normalizer types and bridge tests * fix(tracing): address ingestion and diagnostic review findings * fix(proxy): preserve body parsing for partial request scopes * test(proxy): use valid HTTP scopes in request fixtures * test(proxy): complete auth request flow scopes
13 lines
715 B
SQL
13 lines
715 B
SQL
SELECT SpanId AS span_id,
|
|
substringUTF8(StatusMessage, {error_offset:UInt64} + 1, 16384) AS message,
|
|
lengthUTF8(StatusMessage) AS total_chars,
|
|
hex(SHA256(StatusMessage)) AS version
|
|
FROM otel_traces
|
|
WHERE TraceId = {trace_id:String} AND SpanId = {span_id:String}
|
|
AND (empty({team_ids:Array(String)}) OR TeamId IN {team_ids:Array(String)})
|
|
AND ({api_key_hash:String} = '' OR ApiKeyHash = {api_key_hash:String})
|
|
AND ({trace_ref:String} = '' OR
|
|
hex(SHA256(concat(TeamId, char(0), ApiKeyHash, char(0), TraceId))) = {trace_ref:String})
|
|
AND ({error_version:String} = '' OR hex(SHA256(StatusMessage)) = {error_version:String})
|
|
ORDER BY Timestamp, EngineReceivedMs, StatusMessage
|
|
LIMIT 1
|