Files
awesome-copilot/plugins/phoenix/skills/phoenix-tracing/references/span-chain.md
2026-04-10 01:42:56 +00:00

1.3 KiB

CHAIN Spans

Purpose

CHAIN spans represent orchestration layers in your application (LangChain chains, custom workflows, application entry points). Often used as root spans.

Required Attributes

Attribute Type Description Required
openinference.span.kind String Must be "CHAIN" Yes

Common Attributes

CHAIN spans typically use Universal Attributes:

  • input.value - Input to the chain (user query, request payload)
  • output.value - Output from the chain (final response)
  • input.mime_type / output.mime_type - Format indicators

Example: Root Chain

{
  "openinference.span.kind": "CHAIN",
  "input.value": "{\"question\": \"What is the capital of France?\"}",
  "input.mime_type": "application/json",
  "output.value": "{\"answer\": \"The capital of France is Paris.\", \"sources\": [\"doc_123\"]}",
  "output.mime_type": "application/json",
  "session.id": "session_abc123",
  "user.id": "user_xyz789"
}

Example: Nested Sub-Chain

{
  "openinference.span.kind": "CHAIN",
  "input.value": "Summarize this document: ...",
  "output.value": "This document discusses..."
}