优化主程序和追踪功能
- 在 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"
|
sdklog "go.opentelemetry.io/otel/sdk/log"
|
||||||
sdkMetric "go.opentelemetry.io/otel/sdk/metric"
|
sdkMetric "go.opentelemetry.io/otel/sdk/metric"
|
||||||
"go.opentelemetry.io/otel/sdk/resource"
|
"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"
|
||||||
"go.uber.org/zap/zapcore"
|
"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
|
return l.logger.With(zap.String("trace_id", span.SpanContext().TraceID().String()))
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@@ -91,17 +91,18 @@ func InitTracer() (func(context.Context) error, func(context.Context) error, fun
|
|||||||
return nil, nil, nil
|
return nil, nil, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
otel.SetTracerProvider(
|
// otel.SetTracerProvider(
|
||||||
sdktrace.NewTracerProvider(
|
// sdktrace.NewTracerProvider(
|
||||||
sdktrace.WithSampler(sdktrace.AlwaysSample()),
|
// sdktrace.WithSampler(sdktrace.AlwaysSample()),
|
||||||
sdktrace.WithSpanProcessor(sdktrace.NewBatchSpanProcessor(traceExporter,
|
// sdktrace.WithSpanProcessor(sdktrace.NewBatchSpanProcessor(traceExporter,
|
||||||
sdktrace.WithBatchTimeout(30*time.Second),
|
// sdktrace.WithBatchTimeout(30*time.Second),
|
||||||
sdktrace.WithMaxExportBatchSize(100),
|
// sdktrace.WithMaxExportBatchSize(100),
|
||||||
)),
|
// )),
|
||||||
sdktrace.WithBatcher(traceExporter),
|
// sdktrace.WithBatcher(traceExporter),
|
||||||
sdktrace.WithResource(resources),
|
// sdktrace.WithResource(resources),
|
||||||
),
|
// ),
|
||||||
)
|
// )
|
||||||
|
otel.SetTracerProvider(noop.NewTracerProvider())
|
||||||
// Set up meter provider.
|
// Set up meter provider.
|
||||||
metricExporter, err := otlpmetrichttp.New(
|
metricExporter, err := otlpmetrichttp.New(
|
||||||
InitCtx,
|
InitCtx,
|
||||||
|
|||||||
@@ -3,21 +3,22 @@ package client
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp"
|
|
||||||
"io"
|
"io"
|
||||||
"net/http"
|
"net/http"
|
||||||
"net/url"
|
"net/url"
|
||||||
"shop/internal/traceRouter"
|
"shop/internal/traceRouter"
|
||||||
"time"
|
"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/client/httplib"
|
||||||
"github.com/beego/beego/v2/core/logs"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type Response struct {
|
type Response struct {
|
||||||
Msg string `json:"msg"`
|
Msg string `json:"msg"`
|
||||||
Code int `json:"code"`
|
Code int `json:"code"`
|
||||||
Data interface{} `json:"data"`
|
Data any `json:"data"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get 发送get请求
|
// Get 发送get请求
|
||||||
@@ -31,7 +32,7 @@ func Get(ctx context.Context, baseUrl string, params map[string]string) (result
|
|||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
realUrl.RawQuery = urlParams.Encode()
|
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)
|
req, err := http.NewRequestWithContext(context.WithoutCancel(ctx), "GET", realUrl.String(), nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
|
|||||||
25
main.go
25
main.go
@@ -3,23 +3,24 @@ package main
|
|||||||
import (
|
import (
|
||||||
_ "shop/internal/models"
|
_ "shop/internal/models"
|
||||||
_ "shop/internal/routers"
|
_ "shop/internal/routers"
|
||||||
|
"shop/internal/traceRouter"
|
||||||
|
|
||||||
beego "github.com/beego/beego/v2/server/web"
|
beego "github.com/beego/beego/v2/server/web"
|
||||||
_ "github.com/go-sql-driver/mysql"
|
_ "github.com/go-sql-driver/mysql"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
// cleanup1, cleanup2, cleanup3 := traceRouter.InitTracer()
|
cleanup1, cleanup2, cleanup3 := traceRouter.InitTracer()
|
||||||
// defer func() {
|
defer func() {
|
||||||
// if cleanup1 != nil {
|
if cleanup1 != nil {
|
||||||
// _ = cleanup1(traceRouter.InitCtx)
|
_ = cleanup1(traceRouter.InitCtx)
|
||||||
// }
|
}
|
||||||
// if cleanup2 != nil {
|
if cleanup2 != nil {
|
||||||
// _ = cleanup2(traceRouter.InitCtx)
|
_ = cleanup2(traceRouter.InitCtx)
|
||||||
// }
|
}
|
||||||
// if cleanup3 != nil {
|
if cleanup3 != nil {
|
||||||
// _ = cleanup3(traceRouter.InitCtx)
|
_ = cleanup3(traceRouter.InitCtx)
|
||||||
// }
|
}
|
||||||
// }()
|
}()
|
||||||
beego.Run()
|
beego.Run()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user