Skip to content

Name the Zipkin store as a GenAITraceRefType value, replacing GenAITraceStorage - #178

Merged
wu-sheng merged 1 commit into
masterfrom
revert-genai-trace-storage
Oct 19, 2026
Merged

wu-sheng merged 1 commit into
masterfrom
revert-genai-trace-storage

Conversation

@wu-sheng

Copy link
Copy Markdown
Member

Reverts #177. Instead of a separate GenAITraceRef.storage field, GenAITraceRefType itself now names the store holding the span an evaluation was produced from, as suggested in apache/skywalking#14152 (comment):

  • SKYWALKING_NATIVE: SkyWalking native segments, addressed by trace + segment + segment-local span index.
  • OTLP: OTLP spans stored as received, with receiver-otel otlpTraceStorage: otlp. Served by the TraceQL OTLP datasource.
  • ZIPKIN (new): spans received by receiver-zipkin, or OTLP spans converted with receiver-otel otlpTraceStorage: zipkin. Served by the Zipkin query API.

OTLP and ZIPKIN share the trace + span id addressing, so the spanId fields of GenAITraceRef and GenAITraceScopeCondition now say "OTLP and ZIPKIN only". GenAITraceStorage and GenAITraceRef.storage are removed; no release shipped them.

Implementation: apache/skywalking#14152, which points its submodule at this branch.

…aceStorage

Reverts #177. GenAITraceRefType itself now names the store holding the
span an evaluation was produced from: SKYWALKING_NATIVE, OTLP for OTLP
spans stored as received (receiver-otel `otlpTraceStorage: otlp`), and
the new ZIPKIN for spans received by receiver-zipkin or converted from
OTLP with `otlpTraceStorage: zipkin`. OTLP and Zipkin spans are both
addressed by trace ID and span ID. The separate GenAITraceRef.storage
field and GenAITraceStorage enum from #177 are removed; no release
shipped them.
@wu-sheng
wu-sheng merged commit d4014ed into master Oct 19, 2026
@wu-sheng
wu-sheng deleted the revert-genai-trace-storage branch October 19, 2026 04:59
wu-sheng added a commit to apache/skywalking that referenced this pull request Oct 19, 2026
… traceRef.type

`traceRef.type` was the span's addressing scheme, so an `OTLP` reference
could point into either the native OTLP store or the Zipkin store, and a
client could not tell which one to read the trace from. GenAITraceRefType
gains ZIPKIN, and each listener path records the store the span went to:
OTLP for natively stored OTLP spans, ZIPKIN for spans received by
receiver-zipkin or converted from OTLP with `otlpTraceStorage: zipkin`.
The value goes into the existing `ref_type` column. The relatedTrace
filters, the query validation and the evaluation span check switch on
every type and reject an unknown one.

The query protocol points at apache/skywalking-query-protocol#178.
wu-sheng added a commit to apache/skywalking that referenced this pull request Oct 19, 2026
… traceRef.type

`traceRef.type` was the span's addressing scheme, so an `OTLP` reference
could point into either the native OTLP store or the Zipkin store, and a
client could not tell which one to read the trace from. GenAITraceRefType
gains ZIPKIN, and each listener path records the store the span went to:
OTLP for natively stored OTLP spans, ZIPKIN for spans received by
receiver-zipkin or converted from OTLP with `otlpTraceStorage: zipkin`.
The value goes into the existing `ref_type` column. The relatedTrace
filters, the query validation and the evaluation span check switch on
every type and reject an unknown one.

The new mixed-virtual-genai e2e case judges spans from a SkyWalking
agent, an OTLP exporter and a Zipkin exporter on one OAP, and checks that
each record is found again through relatedTrace and names the only store
holding its trace.

The query protocol points at apache/skywalking-query-protocol#178 and #179.
wu-sheng added a commit to apache/skywalking that referenced this pull request Oct 19, 2026
… traceRef.type (#14152)

`traceRef.type` was the span's addressing scheme, so an `OTLP` reference
could point into either the native OTLP store or the Zipkin store, and a
client could not tell which one to read the trace from. GenAITraceRefType
gains ZIPKIN, and each listener path records the store the span went to:
OTLP for natively stored OTLP spans, ZIPKIN for spans received by
receiver-zipkin or converted from OTLP with `otlpTraceStorage: zipkin`.
The value goes into the existing `ref_type` column. The relatedTrace
filters, the query validation and the evaluation span check switch on
every type and reject an unknown one.

The new mixed-virtual-genai e2e case judges spans from a SkyWalking
agent, an OTLP exporter and a Zipkin exporter on one OAP, and checks that
each record is found again through relatedTrace and names the only store
holding its trace.

The query protocol points at apache/skywalking-query-protocol#178 and #179.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant