fix:上下2

This commit is contained in:
momo
2023-08-25 16:46:58 +08:00
parent 318e210086
commit bb77d8f9aa
4 changed files with 45 additions and 1 deletions

View File

@@ -0,0 +1,36 @@
package middleware
import (
"net/http"
"go.opentelemetry.io/otel/trace"
)
type TracingMiddleware struct {
}
func NewTracingMiddleware() *TracingMiddleware {
return &TracingMiddleware{}
}
func (m *TracingMiddleware) Handle(next http.HandlerFunc) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
traceId := r.Header.Get("X-Trace-Id")
spanId := r.Header.Get("X-Span-Id")
if traceId != "" && spanId != "" {
TraceID, _ := trace.TraceIDFromHex(traceId)
SpanID, _ := trace.SpanIDFromHex(spanId)
ctx := r.Context()
sc := trace.NewSpanContext(trace.SpanContextConfig{
TraceID: TraceID,
SpanID: SpanID,
Remote: true,
})
ctx = trace.ContextWithRemoteSpanContext(ctx, sc)
//next.ServeHTTP(w, r.WithContext(ctx))
}
// 处理请求
next(w, r)
}
}

View File

@@ -4,6 +4,7 @@ import (
"errors"
"fmt"
"fusenapi/server/resource/internal/config"
"fusenapi/server/resource/internal/middleware"
"fusenapi/shared"
"net/http"
@@ -14,6 +15,7 @@ import (
"github.com/aws/aws-sdk-go/aws/credentials"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/golang-jwt/jwt"
"github.com/zeromicro/go-zero/rest"
"gorm.io/gorm"
)
@@ -26,6 +28,7 @@ type ServiceContext struct {
RabbitMq *initalize.RabbitMqHandle
AwsSession *session.Session
Repositories *initalize.Repositories
Tracing rest.Middleware
}
func NewServiceContext(c config.Config) *ServiceContext {
@@ -43,6 +46,7 @@ func NewServiceContext(c config.Config) *ServiceContext {
BLMServiceUrl: &c.BLMService.Url,
AwsSession: session.Must(session.NewSession(&config)),
}),
Tracing: middleware.NewTracingMiddleware().Handle,
}
}