Documentation
¶
Index ¶
- Constants
- func NewLoggerProvider(ctx context.Context, res *resource.Resource, otlpEndpoint string, ...) (*sdklog.LoggerProvider, error)
- func NewMeterProvider(res *resource.Resource) (*sdkmetric.MeterProvider, http.Handler, error)
- func NewTracerProvider(ctx context.Context, res *resource.Resource, otlpEndpoint string, ...) (*sdktrace.TracerProvider, error)
- type Conf
- type Providers
Constants ¶
View Source
const DefaultInitTimeout = 3 * time.Second
DefaultInitTimeout 是初始化 Telemetry 的默认超时时间。
Variables ¶
This section is empty.
Functions ¶
func NewLoggerProvider ¶
func NewLoggerProvider(ctx context.Context, res *resource.Resource, otlpEndpoint string, insecure bool) (*sdklog.LoggerProvider, error)
NewLoggerProvider 初始化 LoggerProvider 并配置 OTLP gRPC 导出器。
参数:
- ctx: 上下文
- res: 资源属性(包含服务名、版本等)
- otlpEndpoint: OTLP 收集器地址
- insecure: 是否使用非安全连接
返回:
- *sdklog.LoggerProvider: 配置好的 LoggerProvider
- error: 初始化过程中的错误
func NewMeterProvider ¶
NewMeterProvider 初始化 MeterProvider 并配置 Prometheus 导出器。
参数:
- res: 资源属性(包含服务名、版本等)
返回:
- *sdkmetric.MeterProvider: 配置好的 MeterProvider
- http.Handler: 用于暴露 /metrics 的 HTTP Handler
- error: 初始化过程中的错误
func NewTracerProvider ¶
func NewTracerProvider(ctx context.Context, res *resource.Resource, otlpEndpoint string, insecure bool) (*sdktrace.TracerProvider, error)
NewTracerProvider 初始化 TracerProvider 并配置 OTLP gRPC 导出器。
参数:
- ctx: 上下文
- res: 资源属性(包含服务名、版本等)
- otlpEndpoint: OTLP 收集器地址(例如 "localhost:4317")
- insecure: 是否使用非安全连接(HTTP/gRPC without TLS)
返回:
- *sdktrace.TracerProvider: 配置好的 TracerProvider
- error: 初始化过程中的错误
Types ¶
type Conf ¶
type Conf struct {
// OTLPEndpoint 是 OpenTelemetry Collector 的地址 (host:port)。
OTLPEndpoint string
// Insecure 决定是否使用非安全连接 (HTTP/gRPC without TLS)。
Insecure bool
// Traces 开关,控制是否启用链路追踪。
Traces bool
// Logs 开关,控制是否启用日志收集。
Logs bool
// Metrics 开关,控制是否启用指标监控。
Metrics bool
}
Conf 定义了 Telemetry 的配置结构。 它可以映射到配置文件(如 JSON/YAML)中的 telemetry 字段。
func (*Conf) GetOTLPEndpoint ¶
GetOTLPEndpoint 获取 OTLP Endpoint (别名)。
func (*Conf) GetOtelEndpoint ¶
GetOtelEndpoint 获取 OTLP Endpoint。
type Providers ¶
type Providers struct {
TracerProvider *sdktrace.TracerProvider
MeterProvider *sdkmetric.MeterProvider
LoggerProvider *sdklog.LoggerProvider
// MetricsHandler 是 Prometheus 的 HTTP Handler,
// 用于对外暴露 /metrics 接口供 Prometheus Server 拉取数据。
MetricsHandler http.Handler
}
Providers 聚合了 OpenTelemetry 的三个主要 Provider: - TracerProvider: 用于链路追踪 - MeterProvider: 用于指标监控 - LoggerProvider: 用于日志记录
func NewProviders ¶
func NewProviders(bootstrapConf config.BootstrapConfig) (*Providers, error)
NewProviders 创建并初始化 Telemetry Providers。 初始化过程使用 DefaultInitTimeout 作为默认超时控制。
参数:
- bootstrapConf: 引导配置,包含 OTel 配置信息
返回:
- *Providers: 包含 Tracer, Meter, Logger Provider
- error: 初始化错误
Click to show internal directories.
Click to hide internal directories.