tracing

package
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 25, 2026 License: MIT Imports: 5 Imported by: 0

Documentation

Overview

Package tracing 提供一次 workflow 运行内的 trace 收集和延迟导出能力。

节点日志和执行事件可以先进入内存 collector,再由 collector 节点或外部 sink 决定是否持久化。

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AttachFlowContext

func AttachFlowContext(fc *core.FlowContext, collector *Collector)

AttachFlowContext 将 collector 挂到 FlowContext 的底层 context 上。

func WithContext

func WithContext(ctx context.Context, collector *Collector) context.Context

WithContext 将 collector 写入标准 context。

Types

type Collector

type Collector struct {
	// contains filtered or unexported fields
}

Collector 保存一次 workflow 运行内的事件,并允许注册延迟导出器。

func FromContext

func FromContext(ctx context.Context) (*Collector, bool)

FromContext 从标准 context 中读取 collector。

func FromFlowContext

func FromFlowContext(fc *core.FlowContext) (*Collector, bool)

FromFlowContext 从 FlowContext 中读取 collector。

func NewCollector

func NewCollector() *Collector

NewCollector 创建空的运行级 trace collector。

func (*Collector) Events

func (c *Collector) Events() []*event.Event

Events 返回 collector 当前收集到的事件副本。

func (*Collector) Flush

func (c *Collector) Flush(ctx context.Context, workflow *core.Workflow, envelope *core.Envelope) error

Flush 将完整运行快照交给所有已注册 exporter。

func (*Collector) Register

func (c *Collector) Register(exporter Exporter) bool

Register 注册一次运行结束后才执行的 exporter。

func (*Collector) Sink

func (c *Collector) Sink() event.Sink

Sink 返回 collector 内置的内存事件 sink。

type ExportFunc

type ExportFunc func(ctx context.Context, snapshot *Snapshot) error

ExportFunc 将普通函数适配为 Exporter。

func (ExportFunc) Export

func (fn ExportFunc) Export(ctx context.Context, snapshot *Snapshot) error

Export 调用底层导出函数。

type Exporter

type Exporter interface {
	Export(ctx context.Context, snapshot *Snapshot) error
}

Exporter 将一次运行收集到的 trace 快照导出到外部系统。

func NewSinkExporter

func NewSinkExporter(sink event.Sink) Exporter

NewSinkExporter 将 event.Sink 适配为 trace Exporter。

type Snapshot

type Snapshot struct {
	Workflow *core.Workflow `json:"workflow,omitempty"`
	Envelope *core.Envelope `json:"envelope,omitempty"`
	Events   []*event.Event `json:"events,omitempty"`
}

Snapshot 是 collector 导出时传给 exporter 的一次运行快照。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL