prometheus

package
v0.5.13 Latest Latest
Warning

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

Go to latest
Published: Aug 13, 2026 License: Apache-2.0 Imports: 6 Imported by: 0

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

Constants

This section is empty.

Variables

View Source
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
)

重新导出函数

View Source
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 Counter

type Counter = toolkitProm.Counter

Counter Prometheus 计数器

type Exporter

type Exporter = toolkitProm.Exporter

Exporter Prometheus 导出器

type ExporterOption

type ExporterOption = toolkitProm.ExporterOption

ExporterOption 导出器选项

type Factory

type Factory = toolkitProm.Factory

Factory 指标工厂

type Gauge

type Gauge = toolkitProm.Gauge

Gauge Prometheus 仪表

type Histogram

type Histogram = toolkitProm.Histogram

Histogram Prometheus 直方图

type MetricsAdapter

type MetricsAdapter = toolkitProm.MetricsAdapter

MetricsAdapter 指标适配器

type MetricsHooksConfig

type MetricsHooksConfig struct {
	// Metrics 指标实现(可选,默认使用全局指标)
	Metrics metrics.Metrics
}

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) Enabled

func (h *MetricsLLMHook) Enabled() bool

Enabled 返回钩子是否启用

func (*MetricsLLMHook) Name

func (h *MetricsLLMHook) Name() string

Name 返回钩子名称

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 流式输出时不记录额外指标

func (*MetricsLLMHook) Timings

func (h *MetricsLLMHook) Timings() hooks.Timing

Timings 返回关心的时机

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) Name

func (h *MetricsRetrieverHook) Name() string

Name 返回钩子名称

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) Enabled

func (h *MetricsRunHook) Enabled() bool

Enabled 返回钩子是否启用

func (*MetricsRunHook) Name

func (h *MetricsRunHook) Name() string

Name 返回钩子名称

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 运行开始时记录开始时间

func (*MetricsRunHook) Timings

func (h *MetricsRunHook) Timings() hooks.Timing

Timings 返回关心的时机

type MetricsToolHook

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

MetricsToolHook 基于 Metrics 接口的工具指标钩子

func NewMetricsToolHook

func NewMetricsToolHook(opts ...MetricsHooksOption) *MetricsToolHook

NewMetricsToolHook 创建工具指标钩子

func (*MetricsToolHook) Enabled

func (h *MetricsToolHook) Enabled() bool

Enabled 返回钩子是否启用

func (*MetricsToolHook) Name

func (h *MetricsToolHook) Name() string

Name 返回钩子名称

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 工具开始时记录开始时间

func (*MetricsToolHook) Timings

func (h *MetricsToolHook) Timings() hooks.Timing

Timings 返回关心的时机

type Registry

type Registry = toolkitProm.Registry

Registry 指标注册表

type Summary

type Summary = toolkitProm.Summary

Summary Prometheus 摘要

Jump to

Keyboard shortcuts

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