Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 7e51069595 | |||
| 791c9905df | |||
| 6097209c48 | |||
| 1835faddc0 |
@@ -10,8 +10,8 @@ import (
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"gitea.com/red-future/common/beans"
|
||||
"gitea.com/red-future/common/utils"
|
||||
"gitea.redpowerfuture.com/red-future/common/beans"
|
||||
"gitea.redpowerfuture.com/red-future/common/utils"
|
||||
"github.com/bwmarrin/snowflake"
|
||||
"github.com/gogf/gf/v2/crypto/gmd5"
|
||||
"github.com/gogf/gf/v2/database/gdb"
|
||||
|
||||
@@ -16,7 +16,7 @@ import (
|
||||
"syscall"
|
||||
"time"
|
||||
|
||||
"gitea.com/red-future/common/log/consts"
|
||||
"gitea.redpowerfuture.com/red-future/common/log/consts"
|
||||
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
"github.com/gogf/gf/v2/os/glog"
|
||||
|
||||
@@ -11,12 +11,12 @@ import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"gitea.com/red-future/common/log/consts"
|
||||
"gitea.redpowerfuture.com/red-future/common/log/consts"
|
||||
"go.mongodb.org/mongo-driver/v2/event"
|
||||
|
||||
"gitea.com/red-future/common/beans"
|
||||
"gitea.com/red-future/common/log/model/entity"
|
||||
"gitea.com/red-future/common/utils"
|
||||
"gitea.redpowerfuture.com/red-future/common/beans"
|
||||
"gitea.redpowerfuture.com/red-future/common/log/model/entity"
|
||||
"gitea.redpowerfuture.com/red-future/common/utils"
|
||||
"github.com/gogf/gf/v2/container/gvar"
|
||||
"github.com/gogf/gf/v2/errors/gerror"
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
|
||||
@@ -10,8 +10,8 @@ import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"gitea.com/red-future/common/beans"
|
||||
"gitea.com/red-future/common/utils"
|
||||
"gitea.redpowerfuture.com/red-future/common/beans"
|
||||
"gitea.redpowerfuture.com/red-future/common/utils"
|
||||
"github.com/gogf/gf/v2/container/gvar"
|
||||
"github.com/gogf/gf/v2/errors/gerror"
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
|
||||
3
go.mod
3
go.mod
@@ -1,5 +1,4 @@
|
||||
module gitea.com/red-future/common
|
||||
|
||||
module gitea.redpowerfuture.com/red-future/common
|
||||
go 1.26.0
|
||||
|
||||
require (
|
||||
|
||||
@@ -9,9 +9,8 @@ import (
|
||||
"regexp"
|
||||
"strings"
|
||||
|
||||
_ "gitea.com/red-future/common/consul"
|
||||
"gitea.com/red-future/common/jaeger"
|
||||
"gitea.com/red-future/common/utils"
|
||||
_ "gitea.redpowerfuture.com/red-future/common/consul"
|
||||
"gitea.redpowerfuture.com/red-future/common/utils"
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
"github.com/gogf/gf/v2/net/gclient"
|
||||
"github.com/gogf/gf/v2/net/ghttp"
|
||||
@@ -80,7 +79,6 @@ func RouteRegister(controllers []interface{}) {
|
||||
return fmt.Sprintf("/%s", strings.ToLower(s))
|
||||
})
|
||||
Httpserver.Group(convertedStr, func(group *ghttp.RouterGroup) {
|
||||
group.Middleware(jaeger.NewTracer)
|
||||
group.Bind(t)
|
||||
})
|
||||
}
|
||||
|
||||
@@ -11,9 +11,12 @@ import (
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
"github.com/gogf/gf/v2/net/ghttp"
|
||||
"github.com/gogf/gf/v2/net/gtrace"
|
||||
"go.opentelemetry.io/otel"
|
||||
"go.opentelemetry.io/otel/attribute"
|
||||
"go.opentelemetry.io/otel/codes"
|
||||
"go.opentelemetry.io/otel/trace"
|
||||
"go.opentelemetry.io/otel/trace/embedded"
|
||||
"go.opentelemetry.io/otel/trace/noop"
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -41,6 +44,10 @@ func Init() {
|
||||
return
|
||||
}
|
||||
ShutDown = shutdown
|
||||
|
||||
// 包装 TracerProvider:只保留 HTTP Server 追踪,屏蔽 DB/Redis/Client 等内部 span
|
||||
wrapTracerProvider()
|
||||
|
||||
g.Log().Infof(ctx, "✅ Jaeger 初始化成功: %s", jaegerAgent)
|
||||
})
|
||||
}
|
||||
@@ -50,6 +57,32 @@ func init() {
|
||||
Init()
|
||||
}
|
||||
|
||||
// filterTracerProvider 只放行指定 instrument 的 span,其余返回 noop tracer
|
||||
type filterTracerProvider struct {
|
||||
embedded.TracerProvider
|
||||
real trace.TracerProvider
|
||||
noop trace.TracerProvider
|
||||
allowed map[string]bool
|
||||
}
|
||||
|
||||
func (f *filterTracerProvider) Tracer(instrumentName string, opts ...trace.TracerOption) trace.Tracer {
|
||||
if f.allowed[instrumentName] {
|
||||
return f.real.Tracer(instrumentName, opts...)
|
||||
}
|
||||
return f.noop.Tracer(instrumentName, opts...)
|
||||
}
|
||||
|
||||
// wrapTracerProvider 包装全局 TracerProvider,只保留 HTTP Server 追踪
|
||||
func wrapTracerProvider() {
|
||||
otel.SetTracerProvider(&filterTracerProvider{
|
||||
real: otel.GetTracerProvider(),
|
||||
noop: noop.NewTracerProvider(),
|
||||
allowed: map[string]bool{
|
||||
"github.com/gogf/gf/v2/net/ghttp.Server": true,
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
// NewSpan 创建新的链路追踪 Span
|
||||
// spanName: Span 名称,用于在 Jaeger UI 中标识
|
||||
// 返回带有 Span 的 context 和 Span 对象,调用方需 defer span.End()
|
||||
|
||||
@@ -3,8 +3,8 @@ package controller
|
||||
import (
|
||||
"context"
|
||||
|
||||
"gitea.com/red-future/common/log/model/dto"
|
||||
"gitea.com/red-future/common/log/service"
|
||||
"gitea.redpowerfuture.com/red-future/common/log/model/dto"
|
||||
"gitea.redpowerfuture.com/red-future/common/log/service"
|
||||
)
|
||||
|
||||
type operationLog struct{}
|
||||
|
||||
@@ -3,15 +3,15 @@ package dao
|
||||
import (
|
||||
"context"
|
||||
|
||||
"gitea.com/red-future/common/beans"
|
||||
"gitea.com/red-future/common/db/mongo"
|
||||
"gitea.redpowerfuture.com/red-future/common/beans"
|
||||
"gitea.redpowerfuture.com/red-future/common/db/mongo"
|
||||
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"gitea.com/red-future/common/log/consts"
|
||||
"gitea.com/red-future/common/log/model/dto"
|
||||
"gitea.com/red-future/common/log/model/entity"
|
||||
"gitea.redpowerfuture.com/red-future/common/log/consts"
|
||||
"gitea.redpowerfuture.com/red-future/common/log/model/dto"
|
||||
"gitea.redpowerfuture.com/red-future/common/log/model/entity"
|
||||
"go.mongodb.org/mongo-driver/v2/bson"
|
||||
)
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package dto
|
||||
|
||||
import (
|
||||
"gitea.com/red-future/common/beans"
|
||||
"gitea.redpowerfuture.com/red-future/common/beans"
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
"github.com/gogf/gf/v2/os/gtime"
|
||||
)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package entity
|
||||
|
||||
import (
|
||||
"gitea.com/red-future/common/beans"
|
||||
"gitea.redpowerfuture.com/red-future/common/beans"
|
||||
)
|
||||
|
||||
// OperationLog 操作日志实体 - 用于记录数据增删改操作行为
|
||||
|
||||
@@ -2,11 +2,11 @@ package service
|
||||
|
||||
import (
|
||||
"context"
|
||||
"gitea.com/red-future/common/beans"
|
||||
"gitea.com/red-future/common/log/dao"
|
||||
"gitea.com/red-future/common/log/model/dto"
|
||||
logEntity "gitea.com/red-future/common/log/model/entity"
|
||||
"gitea.com/red-future/common/utils"
|
||||
"gitea.redpowerfuture.com/red-future/common/beans"
|
||||
"gitea.redpowerfuture.com/red-future/common/log/dao"
|
||||
"gitea.redpowerfuture.com/red-future/common/log/model/dto"
|
||||
logEntity "gitea.redpowerfuture.com/red-future/common/log/model/entity"
|
||||
"gitea.redpowerfuture.com/red-future/common/utils"
|
||||
"github.com/gogf/gf/v2/util/gconv"
|
||||
)
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ import (
|
||||
"sync/atomic"
|
||||
"time"
|
||||
|
||||
"gitea.com/red-future/common/utils"
|
||||
"gitea.redpowerfuture.com/red-future/common/utils"
|
||||
"github.com/alibaba/sentinel-golang/api"
|
||||
"github.com/alibaba/sentinel-golang/core/circuitbreaker"
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
|
||||
@@ -4,9 +4,9 @@ import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"gitea.com/red-future/common/beans"
|
||||
commonHttp "gitea.com/red-future/common/http"
|
||||
"gitea.com/red-future/common/utils"
|
||||
"gitea.redpowerfuture.com/red-future/common/beans"
|
||||
commonHttp "gitea.redpowerfuture.com/red-future/common/http"
|
||||
"gitea.redpowerfuture.com/red-future/common/utils"
|
||||
"github.com/gogf/gf/v2/database/gredis"
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
"github.com/gogf/gf/v2/net/ghttp"
|
||||
|
||||
@@ -5,7 +5,7 @@ import (
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"gitea.com/red-future/common/utils"
|
||||
"gitea.redpowerfuture.com/red-future/common/utils"
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
"github.com/gogf/gf/v2/net/ghttp"
|
||||
"github.com/gogf/gf/v2/util/gconv"
|
||||
|
||||
@@ -2,8 +2,8 @@ package swagger
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"gitea.com/red-future/common/consul"
|
||||
"gitea.com/red-future/common/http"
|
||||
"gitea.redpowerfuture.com/red-future/common/consul"
|
||||
"gitea.redpowerfuture.com/red-future/common/http"
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
"github.com/gogf/gf/v2/net/ghttp"
|
||||
"github.com/gogf/gf/v2/util/gconv"
|
||||
|
||||
@@ -13,7 +13,7 @@ import (
|
||||
"sync/atomic"
|
||||
"time"
|
||||
|
||||
"gitea.com/red-future/common/beans"
|
||||
"gitea.redpowerfuture.com/red-future/common/beans"
|
||||
"github.com/gogf/gf/v2/container/gvar"
|
||||
"github.com/gogf/gf/v2/database/gredis"
|
||||
"github.com/gogf/gf/v2/errors/gcode"
|
||||
@@ -583,7 +583,8 @@ func GetLocalBaseURL(ctx context.Context) string {
|
||||
|
||||
// GetCallbackURL 获取回调地址(完整 URL)
|
||||
func GetCallbackURL(ctx context.Context, path string) string {
|
||||
baseURL := GetLocalBaseURL(ctx)
|
||||
//baseURL := GetLocalBaseURL(ctx)
|
||||
baseURL := "http://" + GetLocalAddress(ctx)
|
||||
// 确保 path 以 / 开头
|
||||
if !strings.HasPrefix(path, "/") {
|
||||
path = "/" + path
|
||||
|
||||
Reference in New Issue
Block a user