forcetypeassert 6→0(缓存 list 断言、relay/flared 中间件契约断言、图片压缩 flight 断言,全部带检查+安全失败路径);errname 1→0;prealloc 2 处(另 1 处与 repo mnd 冲突,用命名常量解决)。nilnil 保留(not-found/可选结果惯例,含接口契约注释)。

Result: {"status":"keep","total_issues":15,"golint_canonicalheader":0,"golint_errname":0,"golint_errorlint":1,"golint_forcetypeassert":0,"golint_gosec":0,"golint_intrange":0,"golint_modernize":3,"golint_nilnil":3,"golint_perfsprint":0,"golint_prealloc":0,"golint_recvcheck":7,"golint_usestdlibvars":0,"golint_wastedassign":0,"golint_total":14,"eslint_problems":1,"eslint_errors":0,"eslint_warnings":1,"tsc_errors":0,"measure_s":43}
This commit is contained in:
ryan
2026-08-16 17:58:03 +08:00
parent 86fad02c41
commit 4ecec2cf1b
8 changed files with 74 additions and 22 deletions
+7 -3
View File
@@ -21,6 +21,9 @@ import (
"gorm.io/plugin/opentelemetry/tracing"
)
// baseTracingOptionCount 是 newGORMTracingPlugin 预置的 tracing 选项数量。
const baseTracingOptionCount = 3
var (
db *gorm.DB
)
@@ -106,7 +109,7 @@ func initPostgres() {
}
if len(dbConfig.Replicas) > 0 {
var replicaDialectors []gorm.Dialector
var replicaDialectors = make([]gorm.Dialector, 0, len(dbConfig.Replicas))
for _, replica := range dbConfig.Replicas {
username := replica.Username
if username == "" {
@@ -156,11 +159,12 @@ func initPostgres() {
// newGORMTracingPlugin 构造数据库链路追踪插件。查询参数只保留占位符,避免凭据等绑定值进入 Span。
func newGORMTracingPlugin(attrs []attribute.KeyValue, extraOptions ...tracing.Option) gorm.Plugin {
options := []tracing.Option{
options := make([]tracing.Option, 0, baseTracingOptionCount+len(extraOptions))
options = append(options,
tracing.WithoutMetrics(),
tracing.WithoutQueryVariables(),
tracing.WithAttributes(attrs...),
}
)
options = append(options, extraOptions...)
return tracing.NewPlugin(options...)
}