observability

package
v0.35.0 Latest Latest
Warning

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

Go to latest
Published: Dec 29, 2025 License: MIT Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddEvent

func AddEvent(ctx context.Context, name string, attributes ...any)

AddEvent 添加事件到当前 span

func GetSpanID

func GetSpanID(ctx context.Context) string

GetSpanID 获取当前 span ID

func GetTraceID

func GetTraceID(ctx context.Context) string

GetTraceID 获取当前 trace ID

func RecordError

func RecordError(ctx context.Context, err error)

RecordError 记录错误到当前 span

func SetAttribute

func SetAttribute(ctx context.Context, key string, value any)

SetAttribute 设置属性到当前 span

Types

type CheckResult

type CheckResult struct {
	Status  HealthStatus `json:"status"`
	Message string       `json:"message,omitempty"`
	Error   string       `json:"error,omitempty"`
	Latency string       `json:"latency,omitempty"`
}

CheckResult 检查结果

type HealthCheck

type HealthCheck interface {
	Name() string
	Check(ctx context.Context) error
}

HealthCheck 健康检查接口

type HealthChecker

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

HealthChecker 健康检查器

func NewHealthChecker

func NewHealthChecker(version string) *HealthChecker

NewHealthChecker 创建健康检查器

func (*HealthChecker) Check

func (h *HealthChecker) Check(ctx context.Context) *HealthInfo

Check 执行所有健康检查

func (*HealthChecker) RegisterCheck

func (h *HealthChecker) RegisterCheck(check HealthCheck)

RegisterCheck 注册健康检查

func (*HealthChecker) Uptime

func (h *HealthChecker) Uptime() time.Duration

Uptime 返回运行时间

type HealthInfo

type HealthInfo struct {
	Status       HealthStatus           `json:"status"`
	Version      string                 `json:"version"`
	Uptime       time.Duration          `json:"uptime"`
	Timestamp    time.Time              `json:"timestamp"`
	Checks       map[string]CheckResult `json:"checks,omitempty"`
	Dependencies map[string]bool        `json:"dependencies,omitempty"`
}

HealthInfo 健康信息

type HealthStatus

type HealthStatus string

HealthStatus 健康状态

const (
	HealthStatusHealthy   HealthStatus = "healthy"
	HealthStatusDegraded  HealthStatus = "degraded"
	HealthStatusUnhealthy HealthStatus = "unhealthy"
)

type MetricsManager

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

MetricsManager Prometheus 指标管理器

func NewMetricsManager

func NewMetricsManager(namespace string) *MetricsManager

NewMetricsManager 创建指标管理器

func (*MetricsManager) Handler

func (m *MetricsManager) Handler() gin.HandlerFunc

Handler Prometheus 指标暴露端点

func (*MetricsManager) Middleware

func (m *MetricsManager) Middleware() gin.HandlerFunc

Middleware Prometheus 中间件

func (*MetricsManager) SetAgentsTotal

func (m *MetricsManager) SetAgentsTotal(count float64)

SetAgentsTotal 设置 Agents 总数

func (*MetricsManager) SetSessionsActive

func (m *MetricsManager) SetSessionsActive(count float64)

SetSessionsActive 设置活跃 Sessions 数量

func (*MetricsManager) SetWorkflowsRunning

func (m *MetricsManager) SetWorkflowsRunning(count float64)

SetWorkflowsRunning 设置运行中的 Workflows 数量

type SimpleHealthCheck

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

SimpleHealthCheck 简单健康检查

func NewSimpleHealthCheck

func NewSimpleHealthCheck(name string, checker func() error) *SimpleHealthCheck

NewSimpleHealthCheck 创建简单健康检查

func (*SimpleHealthCheck) Check

func (c *SimpleHealthCheck) Check(ctx context.Context) error

func (*SimpleHealthCheck) Name

func (c *SimpleHealthCheck) Name() string

type StoreHealthCheck

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

StoreHealthCheck Store 健康检查

func NewStoreHealthCheck

func NewStoreHealthCheck(name string, checkFunc func(context.Context) error) *StoreHealthCheck

NewStoreHealthCheck 创建 Store 健康检查

func (*StoreHealthCheck) Check

func (c *StoreHealthCheck) Check(ctx context.Context) error

func (*StoreHealthCheck) Name

func (c *StoreHealthCheck) Name() string

type TracingConfig

type TracingConfig struct {
	Enabled        bool
	ServiceName    string
	ServiceVersion string
	Environment    string

	// OTLP Exporter 配置
	OTLPEndpoint string // e.g., "localhost:4318"
	OTLPInsecure bool

	// Sampling
	SamplingRate float64 // 0.0 - 1.0
}

TracingConfig 追踪配置

type TracingManager

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

TracingManager 追踪管理器

func NewTracingManager

func NewTracingManager(config TracingConfig) (*TracingManager, error)

NewTracingManager 创建追踪管理器

func (*TracingManager) Middleware

func (t *TracingManager) Middleware() gin.HandlerFunc

Middleware 返回 Gin 追踪中间件

func (*TracingManager) Shutdown

func (t *TracingManager) Shutdown(ctx context.Context) error

Shutdown 关闭追踪提供者

func (*TracingManager) StartSpan

func (t *TracingManager) StartSpan(ctx context.Context, name string, opts ...trace.SpanStartOption) (context.Context, trace.Span)

StartSpan 开始一个新的 span

func (*TracingManager) Tracer

func (t *TracingManager) Tracer() trace.Tracer

Tracer 返回 tracer 实例

Jump to

Keyboard shortcuts

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