The main difference is that the *Traces* tab shows root spans (each representing a full trace or top-level request), while the *Spans* tab lists all individual spans, including both root and child spans, regardless of their hierarchy. The Traces tab helps you view and select entire traces, whereas the Spans tab is useful for inspecting or searching for specific operations within or across traces. According to <https://github.com/Arize-ai/phoenix/blob/main/app/src/pages/project/__generated__/TracesTable_spans.graphql.ts|TracesTable_spans.graphql.ts> and <https://github.com/Arize-ai/phoenix/pull/1061|feat(tracing): spans table>, the Traces tab filters for root spans only, while the Spans tab displays all spans.
Would you like more detail?
Sources:
- <https://github.com/Arize-ai/phoenix/blob/main/app/src/pages/project/__generated__/TracesTable_spans.graphql.ts|TracesTable_spans.graphql.ts>
- <https://github.com/Arize-ai/phoenix/pull/1061|feat(tracing): spans table>