Documentation
¶
Overview ¶
Package middleware provides gRPC tracing middleware for gorp framework. Creates spans for each RPC call, extracts/injects trace context. Supports OpenTelemetry integration via Tracer contract.
中间件包提供 gRPC 追踪中间件,用于 gorp 框架。 为每个 RPC 调用创建 Span,提取/注入追踪上下文。 通过 Tracer 契约支持 OpenTelemetry 集成。
Package middleware provides HTTP tracing middleware for gorp framework. Creates spans for each HTTP request, extracts/injects trace context. Records method, URL, status code, latency as span attributes.
中间件包提供 HTTP 追踪中间件,用于 gorp 框架。 为每个 HTTP 请求创建 Span,提取/注入追踪上下文。 记录方法、URL、状态码、延迟作为 Span 属性。
Index ¶
- func ParseTraceParent(traceparent string) (traceID, spanID string, flags string, ok bool)
- func TracingMiddleware(tracer observabilitycontract.Tracer, serviceName string) transportcontract.Middleware
- func UnaryClientInterceptor(tracer observabilitycontract.Tracer, serviceName string) grpc.UnaryClientInterceptor
- func UnaryServerInterceptor(tracer observabilitycontract.Tracer, serviceName string) grpc.UnaryServerInterceptor
- func WithAttributes(attrs map[string]any) observabilitycontract.SpanOption
- func WithSpanKind(kind observabilitycontract.SpanKind) observabilitycontract.SpanOption
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ParseTraceParent ¶
func TracingMiddleware ¶
func TracingMiddleware(tracer observabilitycontract.Tracer, serviceName string) transportcontract.Middleware
TracingMiddleware creates HTTP middleware for distributed tracing. Core logic: Extract trace context, create span, record attributes, inject trace ID.
TracingMiddleware 创建用于分布式追踪的 HTTP 中间件。 核心逻辑:提取追踪上下文、创建 Span、记录属性、注入 Trace ID。
func UnaryClientInterceptor ¶
func UnaryClientInterceptor(tracer observabilitycontract.Tracer, serviceName string) grpc.UnaryClientInterceptor
UnaryClientInterceptor 创建 gRPC 客户端一元拦截器。
中文说明: - 自动为每个 RPC 调用创建客户端 Span; - 将追踪上下文注入到 gRPC metadata; - 支持跨服务追踪传播。
func UnaryServerInterceptor ¶
func UnaryServerInterceptor(tracer observabilitycontract.Tracer, serviceName string) grpc.UnaryServerInterceptor
UnaryServerInterceptor 创建 gRPC 服务端一元拦截器。
中文说明: - 自动为每个 RPC 调用创建 Span; - 从 gRPC metadata 提取追踪上下文; - 记录方法名、错误码等信息; - 支持与 OpenTelemetry 集成。
func WithAttributes ¶
func WithAttributes(attrs map[string]any) observabilitycontract.SpanOption
func WithSpanKind ¶
func WithSpanKind(kind observabilitycontract.SpanKind) observabilitycontract.SpanOption
Types ¶
This section is empty.