tracer

package
v0.0.0-...-01c5ca6 Latest Latest
Warning

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

Go to latest
Published: Mar 26, 2024 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateL34Table

func CreateL34Table(db sqlx.SqlConn) error

func CreateL7Table

func CreateL7Table(db sqlx.SqlConn) error

func NewL34Inserter

func NewL34Inserter(db sqlx.SqlConn) (*sqlx.BulkInserter, error)

func NewL7Inserter

func NewL7Inserter(db sqlx.SqlConn) (*sqlx.BulkInserter, error)

Types

type L34Flow

type L34Flow struct {
	Time               time.Time `db:"time"`                // 捕获时间。
	Namespace          string    `db:"namespace"`           // 流量相关名字空间,存在“或”逻辑。
	SrcIdentity        uint32    `db:"src_identity"`        // NumericIdentity 的数值类型为 uint32,且用 0 作为空值。
	DestIdentity       uint32    `db:"dest_identity"`       //
	IsReply            bool      `db:"is_reply"`            // 区分流量方向1。
	TrafficDirection   string    `db:"traffic_direction"`   // 区分流量方向2,一般是这两种 "INGRESS" 或 "EGRESS"。
	TrafficObservation string    `db:"traffic_observation"` // 捕获位置,一般是这三种 "TO_ENDPOINT" 或 "TO_STACK" 或 "TO_PROXY"。
	Verdict            string    `db:"verdict"`             // 一般是这两种 "FORWARDED" 或 "DROPPED"。

}

type Olap

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

func NewOlap

func NewOlap(vp *viper.Viper) *Olap

func (*Olap) AddEL34

func (o *Olap) AddEL34(flow *observerpb.Flow)

func (*Olap) AddEL7

func (o *Olap) AddEL7(flow *observerpb.Flow)

func (*Olap) InsertL34Flow

func (o *Olap) InsertL34Flow(l34 *L34Flow)

func (*Olap) InsertL7Span

func (o *Olap) InsertL7Span(span *PreSpan)

func (*Olap) SelectL34Flow

func (o *Olap) SelectL34Flow()

func (*Olap) SelectL7Spans

func (o *Olap) SelectL7Spans(buf *[]*PreSpan)

func (*Olap) SummaryELs

func (o *Olap) SummaryELs()

type PostSpan

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

type PreSpan

type PreSpan struct {
	ID           string    `db:"id"`           // UUID32 格式的 SpanID
	TraceID      string    `db:"trace_id"`     // UUID16、X-B3-Traceid 格式的 TraceID
	SrcIdentity  uint32    `db:"src_identity"` // identity 是对服务组的编址
	SrcPod       string    `db:"src_pod"`      // pod_name 是对 pod 的编址,类似的有 endpoint
	DestIdentity uint32    `db:"dest_identity"`
	DestPod      string    `db:"dest_pod"`
	StartTime    time.Time `db:"start_time"` // 请求发出时间
	EndTime      time.Time `db:"end_time"`   // 响应发出时间(不是响应被接收的时间)

}

type Tracer

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

func (*Tracer) Assemble

func (t *Tracer) Assemble(amCtx context.Context) error

func (*Tracer) BasicAssemble

func (t *Tracer) BasicAssemble(amCtx context.Context) error

BasicAssemble 离线算法,输入完备的 Span 数据。 返回 trace,返回的是该 Trace 的根 Span,提供给测试。

type TracerManager

type TracerManager struct {
	ShutdownCtx context.Context
	// contains filtered or unexported fields
}

func NewTracerManager

func NewTracerManager(vp *viper.Viper) *TracerManager

func (*TracerManager) Assemble

func (tm *TracerManager) Assemble()

func (*TracerManager) BuildL34Flow

func (tm *TracerManager) BuildL34Flow(flow *observerpb.Flow) (*L34Flow, error)

func (*TracerManager) BuildPreSpan

func (tm *TracerManager) BuildPreSpan(flow *observerpb.Flow) (*PreSpan, error)

BuildPreSpan 构建 PreSpan 构建成功,入队并返回;构建失败,返回 nil

func (*TracerManager) ConsumeFlow

func (tm *TracerManager) ConsumeFlow(flow *observerpb.Flow)

ConsumeFlow 消耗一条 Flow 数据,针对 l7_flow 和 l34_flow 不同类型进行分发

func (*TracerManager) Flush

func (tm *TracerManager) Flush()

func (*TracerManager) InitDummyExporter

func (tm *TracerManager) InitDummyExporter() (func(context.Context) error, error)

InitDummyExporter only for testing purposes

func (*TracerManager) InitGRPCExporter

func (tm *TracerManager) InitGRPCExporter(shutdownCtx context.Context) (func(context.Context) error, error)

func (*TracerManager) InitStdoutExporter

func (tm *TracerManager) InitStdoutExporter() (func(context.Context) error, error)

func (*TracerManager) SummaryELs

func (tm *TracerManager) SummaryELs()

Jump to

Keyboard shortcuts

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