Documentation
¶
Overview ¶
Package prometheus 提供 Prometheus 指标导出
本文件提供基于钩子的自动 Prometheus 指标收集,包括:
- MetricsRunHook: 自动收集 Agent 运行指标
- MetricsToolHook: 自动收集工具调用指标
- MetricsLLMHook: 自动收集 LLM 调用指标
- MetricsRetrieverHook: 自动收集检索指标
使用示例:
// 设置自动指标收集 prometheus.SetupMetrics(hookManager)
Package prometheus 提供 Prometheus 指标导出 ¶
本包直接复用 toolkit/infra/prometheus 的实现。
使用示例:
exporter, err := prometheus.NewExporter(
prometheus.WithNamespace("myapp"),
)
if err != nil {
return err
}
http.Handle("/metrics", exporter.Handler())
Index ¶
- Variables
- func SetupMetrics(manager *hooks.Manager, opts ...MetricsHooksOption)
- func SetupMetricsWithExporter(manager *hooks.Manager) *metrics.MemoryMetrics
- type Counter
- type Exporter
- type ExporterOption
- type Factory
- type Gauge
- type Histogram
- type MetricsAdapter
- type MetricsHooksConfig
- type MetricsHooksOption
- type MetricsLLMHook
- func (h *MetricsLLMHook) Enabled() bool
- func (h *MetricsLLMHook) Name() string
- func (h *MetricsLLMHook) OnLLMEnd(ctx context.Context, event *hooks.LLMEndEvent) error
- func (h *MetricsLLMHook) OnLLMStart(ctx context.Context, event *hooks.LLMStartEvent) error
- func (h *MetricsLLMHook) OnLLMStream(ctx context.Context, event *hooks.LLMStreamEvent) error
- func (h *MetricsLLMHook) Timings() hooks.Timing
- type MetricsRetrieverHook
- func (h *MetricsRetrieverHook) Enabled() bool
- func (h *MetricsRetrieverHook) Name() string
- func (h *MetricsRetrieverHook) OnRetrieverEnd(ctx context.Context, event *hooks.RetrieverEndEvent) error
- func (h *MetricsRetrieverHook) OnRetrieverStart(ctx context.Context, event *hooks.RetrieverStartEvent) error
- func (h *MetricsRetrieverHook) Timings() hooks.Timing
- type MetricsRunHook
- func (h *MetricsRunHook) Enabled() bool
- func (h *MetricsRunHook) Name() string
- func (h *MetricsRunHook) OnEnd(ctx context.Context, event *hooks.RunEndEvent) error
- func (h *MetricsRunHook) OnError(ctx context.Context, event *hooks.ErrorEvent) error
- func (h *MetricsRunHook) OnStart(ctx context.Context, event *hooks.RunStartEvent) error
- func (h *MetricsRunHook) Timings() hooks.Timing
- type MetricsToolHook
- func (h *MetricsToolHook) Enabled() bool
- func (h *MetricsToolHook) Name() string
- func (h *MetricsToolHook) OnToolEnd(ctx context.Context, event *hooks.ToolEndEvent) error
- func (h *MetricsToolHook) OnToolStart(ctx context.Context, event *hooks.ToolStartEvent) error
- func (h *MetricsToolHook) Timings() hooks.Timing
- type Registry
- type Summary
Constants ¶
This section is empty.
Variables ¶
var ( // NewExporter 创建 Prometheus 导出器 NewExporter = toolkitProm.NewExporter // WithNamespace 设置命名空间 WithNamespace = toolkitProm.WithNamespace // WithSubsystem 设置子系统 WithSubsystem = toolkitProm.WithSubsystem // NewRegistry 创建注册表 NewRegistry = toolkitProm.NewRegistry // NewFactory 创建指标工厂 NewFactory = toolkitProm.NewFactory // NewMetricsAdapter 创建指标适配器 NewMetricsAdapter = toolkitProm.NewMetricsAdapter )
重新导出函数
var ( // DefaultBuckets 返回默认桶 DefaultBuckets = toolkitProm.DefaultBuckets // DefaultQuantiles 返回默认分位数 DefaultQuantiles = toolkitProm.DefaultQuantiles )
重新导出默认配置工厂
Functions ¶
func SetupMetrics ¶
func SetupMetrics(manager *hooks.Manager, opts ...MetricsHooksOption)
SetupMetrics 设置完整指标收集 创建并注册所有指标钩子
func SetupMetricsWithExporter ¶
func SetupMetricsWithExporter(manager *hooks.Manager) *metrics.MemoryMetrics
SetupMetricsWithExporter 设置带导出器的指标收集 将指标收集到内存,可通过 GetGlobalMetrics 获取快照
Types ¶
type MetricsHooksConfig ¶
MetricsHooksConfig 指标钩子配置
type MetricsHooksOption ¶
type MetricsHooksOption func(*MetricsHooksConfig)
MetricsHooksOption 指标钩子选项
func WithMetricsInstance ¶
func WithMetricsInstance(m metrics.Metrics) MetricsHooksOption
WithMetricsInstance 使用指定的指标实例
type MetricsLLMHook ¶
type MetricsLLMHook struct {
// contains filtered or unexported fields
}
MetricsLLMHook 基于 Metrics 接口的 LLM 指标钩子
func NewMetricsLLMHook ¶
func NewMetricsLLMHook(opts ...MetricsHooksOption) *MetricsLLMHook
NewMetricsLLMHook 创建 LLM 指标钩子
func (*MetricsLLMHook) OnLLMEnd ¶
func (h *MetricsLLMHook) OnLLMEnd(ctx context.Context, event *hooks.LLMEndEvent) error
OnLLMEnd LLM 结束时记录指标
func (*MetricsLLMHook) OnLLMStart ¶
func (h *MetricsLLMHook) OnLLMStart(ctx context.Context, event *hooks.LLMStartEvent) error
OnLLMStart LLM 开始时记录开始时间
func (*MetricsLLMHook) OnLLMStream ¶
func (h *MetricsLLMHook) OnLLMStream(ctx context.Context, event *hooks.LLMStreamEvent) error
OnLLMStream LLM 流式输出时不记录额外指标
type MetricsRetrieverHook ¶
type MetricsRetrieverHook struct {
// contains filtered or unexported fields
}
MetricsRetrieverHook 基于 Metrics 接口的检索指标钩子
func NewMetricsRetrieverHook ¶
func NewMetricsRetrieverHook(opts ...MetricsHooksOption) *MetricsRetrieverHook
NewMetricsRetrieverHook 创建检索指标钩子
func (*MetricsRetrieverHook) Enabled ¶
func (h *MetricsRetrieverHook) Enabled() bool
Enabled 返回钩子是否启用
func (*MetricsRetrieverHook) OnRetrieverEnd ¶
func (h *MetricsRetrieverHook) OnRetrieverEnd(ctx context.Context, event *hooks.RetrieverEndEvent) error
OnRetrieverEnd 检索结束时记录指标
func (*MetricsRetrieverHook) OnRetrieverStart ¶
func (h *MetricsRetrieverHook) OnRetrieverStart(ctx context.Context, event *hooks.RetrieverStartEvent) error
OnRetrieverStart 检索开始时记录开始时间
func (*MetricsRetrieverHook) Timings ¶
func (h *MetricsRetrieverHook) Timings() hooks.Timing
Timings 返回关心的时机
type MetricsRunHook ¶
type MetricsRunHook struct {
// contains filtered or unexported fields
}
MetricsRunHook 基于 Metrics 接口的运行指标钩子
func NewMetricsRunHook ¶
func NewMetricsRunHook(opts ...MetricsHooksOption) *MetricsRunHook
NewMetricsRunHook 创建运行指标钩子
func (*MetricsRunHook) OnEnd ¶
func (h *MetricsRunHook) OnEnd(ctx context.Context, event *hooks.RunEndEvent) error
OnEnd 运行结束时记录指标
func (*MetricsRunHook) OnError ¶
func (h *MetricsRunHook) OnError(ctx context.Context, event *hooks.ErrorEvent) error
OnError 运行错误时记录错误指标
func (*MetricsRunHook) OnStart ¶
func (h *MetricsRunHook) OnStart(ctx context.Context, event *hooks.RunStartEvent) error
OnStart 运行开始时记录开始时间
type MetricsToolHook ¶
type MetricsToolHook struct {
// contains filtered or unexported fields
}
MetricsToolHook 基于 Metrics 接口的工具指标钩子
func NewMetricsToolHook ¶
func NewMetricsToolHook(opts ...MetricsHooksOption) *MetricsToolHook
NewMetricsToolHook 创建工具指标钩子
func (*MetricsToolHook) OnToolEnd ¶
func (h *MetricsToolHook) OnToolEnd(ctx context.Context, event *hooks.ToolEndEvent) error
OnToolEnd 工具结束时记录指标
func (*MetricsToolHook) OnToolStart ¶
func (h *MetricsToolHook) OnToolStart(ctx context.Context, event *hooks.ToolStartEvent) error
OnToolStart 工具开始时记录开始时间