dixtrace

package
v2.0.0 Latest Latest
Warning

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

Go to latest
Published: Mar 25, 2026 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Emit

func Emit(e Event)

Emit 写入 trace 事件。

func ResetForTest

func ResetForTest()

ResetForTest clears in-memory trace state. Intended for tests only.

func TraceEnabled

func TraceEnabled() bool

TraceEnabled 表示 trace 查询是否可用。

func TraceToAttrs

func TraceToAttrs(args ...any) map[string]any

TraceToAttrs 将 kv 参数转换为 attrs。

Types

type Event

type Event struct {
	ID               int64          `json:"id"`
	TraceID          string         `json:"trace_id,omitempty"`
	SpanID           string         `json:"span_id,omitempty"`
	ParentSpanID     string         `json:"parent_span_id,omitempty"`
	Operation        string         `json:"operation,omitempty"`
	Phase            string         `json:"phase,omitempty"`
	Event            string         `json:"event,omitempty"`
	Status           string         `json:"status,omitempty"`
	Component        string         `json:"component,omitempty"`
	ProviderFunction string         `json:"provider_function,omitempty"`
	OutputType       string         `json:"output_type,omitempty"`
	InputType        string         `json:"input_type,omitempty"`
	InputTypes       []string       `json:"input_types,omitempty"`
	Message          string         `json:"message,omitempty"`
	Error            string         `json:"error,omitempty"`
	TimedOut         bool           `json:"timed_out,omitempty"`
	DurationNs       int64          `json:"duration_ns,omitempty"`
	OccurredAt       int64          `json:"occurred_at_unix_nano"`
	Attrs            map[string]any `json:"attrs,omitempty"`
}

Event 是统一 trace 事件结构。

type FileSink

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

func NewFileSink

func NewFileSink(path string) *FileSink

func (*FileSink) Write

func (f *FileSink) Write(e Event)

type MemorySink

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

MemorySink 用于 API 查询。

func NewMemorySink

func NewMemorySink(max int) *MemorySink

func (*MemorySink) Query

func (m *MemorySink) Query(q Query) ReadResult

func (*MemorySink) Write

func (m *MemorySink) Write(e Event)

type Query

type Query struct {
	TraceID     string
	Operation   string
	Status      string
	Event       string
	Component   string
	Provider    string
	OutputType  string
	Search      string
	Limit       int
	BeforeID    int64
	SinceUnixNs int64
	UntilUnixNs int64
}

Query 控制 trace 查询过滤。

func ParseQueryFromMap

func ParseQueryFromMap(values map[string]any) Query

ParseQueryFromMap 从 query 参数 map 解析过滤条件。

type ReadResult

type ReadResult struct {
	Enabled    bool    `json:"enabled"`
	Total      int     `json:"total"`
	Returned   int     `json:"returned"`
	NextBefore int64   `json:"next_before_id,omitempty"`
	Records    []Event `json:"records"`
}

ReadResult 是 trace 查询返回结构。

func QueryEvents

func QueryEvents(q Query) ReadResult

QueryEvents 查询内存中的 trace 事件。

type Sink

type Sink interface {
	Write(Event)
}

type Span

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

func BeginSpan

func BeginSpan(operation, component string, args ...any) *Span

BeginSpan 开始一个 span。 无 context 传递时,该 span 不会自动继承父 span。

func BeginSpanCtx

func BeginSpanCtx(ctx context.Context, operation, component string, args ...any) (context.Context, *Span)

BeginSpanCtx starts a span and returns a context carrying this span as current parent. Parent resolution is context-only.

func (*Span) End

func (s *Span) End(err error, args ...any)

func (*Span) IDs

func (s *Span) IDs() (traceID, spanID, parentSpanID string)

type Tracer

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

func NewTracer

func NewTracer(sinks ...Sink) *Tracer

func (*Tracer) Emit

func (t *Tracer) Emit(e Event)

Jump to

Keyboard shortcuts

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