middleware

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: May 20, 2026 License: MIT Imports: 9 Imported by: 0

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

Constants

This section is empty.

Variables

This section is empty.

Functions

func ParseTraceParent

func ParseTraceParent(traceparent string) (traceID, spanID string, flags string, ok bool)

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

Types

This section is empty.

Jump to

Keyboard shortcuts

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