Langfuse · 用户路径
本页给出 Langfuse 的逐步数据路径。先看图,再看每步的证据。回到 Langfuse 总览。
路径图
默认模式 events_only 走 OTLP 路径。旧 SDK 走 legacy 路径。
OTLP 路径(默认)
legacy 路径(旧 SDK)
图例:接入、队列与处理、存储、查询服务、前端、评估。虚线表示写入和读取之间靠存储相连。
逐步证据
下面分两条路径。默认的 events_only 走 OTLP 路径。旧 SDK 走 legacy 路径。
13.1 默认路径(OTLP,v4)
- SDK 发
POST /api/public/otel/v1/traces,要求traces:create(web/src/pages/api/public/otel/v1/traces/index.tsL26-L33,permalink)。 - 路由认证(Basic 或 Bearer)并限流(
web/src/features/public-api/server/apiAuth.tsL92,permalink、web/src/features/public-api/server/RateLimitService.tsL47-L50,permalink)。 - 请求体先上传到 S3,再进
OtelIngestionQueue(packages/shared/src/server/otel/OtelIngestionProcessor.tsL330-L342,permalink)。 - Worker 判断是否直写 events 表(
worker/src/queues/otelIngestionQueue.tsL310-L322,permalink)。 processOtelEvents为每个 span 建事件记录并写入events_full的写队列(worker/src/features/otel-ingestion/processOtelEvents.tsL154,permalink)。ClickhouseWriter批量落库,events_core由物化视图填充(worker/src/services/ClickhouseWriter/index.tsL61-L63,permalink、packages/shared/clickhouse/migrations/canonical/0041_create_events_core_mv.up.sqlL39-L42,permalink)。- 同时,若有匹配的评估规则,
scheduleObservationEvals排队评估(worker/src/features/otel-ingestion/processOtelEvents.tsL134,permalink)。 - 用户打开 Trace 列表页,页面根据
isV4选择ObservationsEventsTable(web/src/features/traces/TracesPage.tsxL97-L107,permalink)。 - 表调
api.events.all(web/src/features/events/hooks/useEventsTableData.tsL106,permalink),服务端是events.all→getEventList(web/src/features/events/server/eventsRouter.tsL159-L168,permalink)。 - 列表读
events_core(截断版)或events_full(packages/shared/src/server/queries/clickhouse-sql/query-fragments.tsL97,permalink)。 - 点击一行进入
/project/[projectId]/traces/[traceId](web/src/pages/project/[projectId]/traces/[traceId].tsxL9,permalink)。 - 详情 hook 调
events.byTraceId取全部 span,前端建树与时间线(web/src/features/events/hooks/useEventsTraceData.tsL62,permalink、web/src/features/traces/components/VirtualizedTree.tsxL87,permalink)。
13.2 legacy 路径(旧 SDK,需 legacy 或 dual 模式)
- SDK 发
POST /api/public/ingestion(web/src/pages/api/public/ingestion.tsL56-L70,permalink)。 - 事件上传 S3 后进分片
IngestionQueue(packages/shared/src/server/ingestion/processEventBatch.tsL276-L332,permalink、packages/shared/src/server/ingestion/processEventBatch.tsL328-L346,permalink)。 - Worker
mergeAndWrite合并事件,写traces/observations/scores(worker/src/services/IngestionService/index.tsL238-L268,permalink)。 - 列表页用
TracesTable调api.traces.all(web/src/features/traces/TracesTable.tsxL525,permalink)。 - 详情用
traces.byIdWithObservationsAndScores(web/src/server/api/routers/traces.tsL384,permalink)。