BuildFromEvents 从事件列表构建追踪摘要列表
(events []types.AgentEventEnvelope)
| 22 | |
| 23 | // BuildFromEvents 从事件列表构建追踪摘要列表 |
| 24 | func (tb *TraceBuilder) BuildFromEvents(events []types.AgentEventEnvelope) []*TraceSummary { |
| 25 | // 按 session/agent 分组事件 |
| 26 | sessions := tb.groupEventsBySession(events) |
| 27 | |
| 28 | traces := make([]*TraceSummary, 0, len(sessions)) |
| 29 | |
| 30 | for sessionID, sessionEvents := range sessions { |
| 31 | trace := tb.buildTraceSummary(sessionID, sessionEvents) |
| 32 | if trace != nil { |
| 33 | traces = append(traces, trace) |
| 34 | } |
| 35 | } |
| 36 | |
| 37 | return traces |
| 38 | } |
| 39 | |
| 40 | // BuildTraceDetail 构建单个追踪的详情 |
| 41 | func (tb *TraceBuilder) BuildTraceDetail(traceID string, allEvents []types.AgentEventEnvelope) *TraceDetail { |