优化主程序和追踪功能
- 在 main.go 中恢复了 traceRouter 的初始化代码,确保追踪功能正常工作 - 在 trace.go 中将追踪提供者设置为 noop,清理了不必要的代码注释 - 在 client.go 中更新了日志记录方式,使用 traceRouter.Logger 记录请求地址,提升了日志的上下文信息
This commit is contained in:
@@ -23,7 +23,7 @@ import (
|
||||
sdklog "go.opentelemetry.io/otel/sdk/log"
|
||||
sdkMetric "go.opentelemetry.io/otel/sdk/metric"
|
||||
"go.opentelemetry.io/otel/sdk/resource"
|
||||
sdktrace "go.opentelemetry.io/otel/sdk/trace"
|
||||
"go.opentelemetry.io/otel/trace/noop"
|
||||
"go.uber.org/zap"
|
||||
"go.uber.org/zap/zapcore"
|
||||
|
||||
@@ -56,7 +56,7 @@ func (l *LoggerStruct) WithContext(ctx context.Context) *zap.Logger {
|
||||
}
|
||||
return l.logger
|
||||
}
|
||||
return l.logger
|
||||
return l.logger.With(zap.String("trace_id", span.SpanContext().TraceID().String()))
|
||||
}
|
||||
|
||||
var (
|
||||
@@ -91,17 +91,18 @@ func InitTracer() (func(context.Context) error, func(context.Context) error, fun
|
||||
return nil, nil, nil
|
||||
}
|
||||
|
||||
otel.SetTracerProvider(
|
||||
sdktrace.NewTracerProvider(
|
||||
sdktrace.WithSampler(sdktrace.AlwaysSample()),
|
||||
sdktrace.WithSpanProcessor(sdktrace.NewBatchSpanProcessor(traceExporter,
|
||||
sdktrace.WithBatchTimeout(30*time.Second),
|
||||
sdktrace.WithMaxExportBatchSize(100),
|
||||
)),
|
||||
sdktrace.WithBatcher(traceExporter),
|
||||
sdktrace.WithResource(resources),
|
||||
),
|
||||
)
|
||||
// otel.SetTracerProvider(
|
||||
// sdktrace.NewTracerProvider(
|
||||
// sdktrace.WithSampler(sdktrace.AlwaysSample()),
|
||||
// sdktrace.WithSpanProcessor(sdktrace.NewBatchSpanProcessor(traceExporter,
|
||||
// sdktrace.WithBatchTimeout(30*time.Second),
|
||||
// sdktrace.WithMaxExportBatchSize(100),
|
||||
// )),
|
||||
// sdktrace.WithBatcher(traceExporter),
|
||||
// sdktrace.WithResource(resources),
|
||||
// ),
|
||||
// )
|
||||
otel.SetTracerProvider(noop.NewTracerProvider())
|
||||
// Set up meter provider.
|
||||
metricExporter, err := otlpmetrichttp.New(
|
||||
InitCtx,
|
||||
|
||||
@@ -3,21 +3,22 @@ package client
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp"
|
||||
"io"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"shop/internal/traceRouter"
|
||||
"time"
|
||||
|
||||
"go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp"
|
||||
"go.uber.org/zap"
|
||||
|
||||
"github.com/beego/beego/v2/client/httplib"
|
||||
"github.com/beego/beego/v2/core/logs"
|
||||
)
|
||||
|
||||
type Response struct {
|
||||
Msg string `json:"msg"`
|
||||
Code int `json:"code"`
|
||||
Data interface{} `json:"data"`
|
||||
Data any `json:"data"`
|
||||
}
|
||||
|
||||
// Get 发送get请求
|
||||
@@ -31,7 +32,7 @@ func Get(ctx context.Context, baseUrl string, params map[string]string) (result
|
||||
return "", err
|
||||
}
|
||||
realUrl.RawQuery = urlParams.Encode()
|
||||
logs.Info("请求地址", realUrl.String())
|
||||
traceRouter.Logger.WithContext(ctx).Info("请求地址", zap.String("url", realUrl.String()))
|
||||
req, err := http.NewRequestWithContext(context.WithoutCancel(ctx), "GET", realUrl.String(), nil)
|
||||
if err != nil {
|
||||
return "", err
|
||||
|
||||
25
main.go
25
main.go
@@ -3,23 +3,24 @@ package main
|
||||
import (
|
||||
_ "shop/internal/models"
|
||||
_ "shop/internal/routers"
|
||||
"shop/internal/traceRouter"
|
||||
|
||||
beego "github.com/beego/beego/v2/server/web"
|
||||
_ "github.com/go-sql-driver/mysql"
|
||||
)
|
||||
|
||||
func main() {
|
||||
// cleanup1, cleanup2, cleanup3 := traceRouter.InitTracer()
|
||||
// defer func() {
|
||||
// if cleanup1 != nil {
|
||||
// _ = cleanup1(traceRouter.InitCtx)
|
||||
// }
|
||||
// if cleanup2 != nil {
|
||||
// _ = cleanup2(traceRouter.InitCtx)
|
||||
// }
|
||||
// if cleanup3 != nil {
|
||||
// _ = cleanup3(traceRouter.InitCtx)
|
||||
// }
|
||||
// }()
|
||||
cleanup1, cleanup2, cleanup3 := traceRouter.InitTracer()
|
||||
defer func() {
|
||||
if cleanup1 != nil {
|
||||
_ = cleanup1(traceRouter.InitCtx)
|
||||
}
|
||||
if cleanup2 != nil {
|
||||
_ = cleanup2(traceRouter.InitCtx)
|
||||
}
|
||||
if cleanup3 != nil {
|
||||
_ = cleanup3(traceRouter.InitCtx)
|
||||
}
|
||||
}()
|
||||
beego.Run()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user