Skip to content

Commit c32588a

Browse files
authored
Fix tag concurrent (#23)
* fix span lock * down x package version, for go 1.18
1 parent fdce5d1 commit c32588a

File tree

5 files changed

+34
-22
lines changed

5 files changed

+34
-22
lines changed

CHANGLOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## [0.1.14] - 2025-10-17
2+
### Added
3+
- fix span lock
4+
15
## [0.1.13] - 2025-09-24
26
### Added
37
- support custom trace connect ptaas trace

go.mod

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ require (
1010
github.com/nikolalohinski/gonja/v2 v2.3.1
1111
github.com/smartystreets/goconvey v1.8.1
1212
github.com/valyala/fasttemplate v1.2.2
13-
golang.org/x/sync v0.16.0
13+
golang.org/x/sync v0.11.0
1414
)
1515

1616
require (
@@ -24,10 +24,10 @@ require (
2424
github.com/sirupsen/logrus v1.9.3 // indirect
2525
github.com/smarty/assertions v1.15.0 // indirect
2626
github.com/valyala/bytebufferpool v1.0.0 // indirect
27-
golang.org/x/arch v0.15.0 // indirect
28-
golang.org/x/exp v0.0.0-20250606033433-dcc06ee1d476 // indirect
29-
golang.org/x/sys v0.34.0 // indirect
30-
golang.org/x/text v0.27.0 // indirect
27+
golang.org/x/arch v0.11.0 // indirect
28+
golang.org/x/exp v0.0.0-20240404231335-c0f41cb1a7a0 // indirect
29+
golang.org/x/sys v0.26.0 // indirect
30+
golang.org/x/text v0.14.0 // indirect
3131
)
3232

3333
replace github.com/coze-dev/cozeloop-go/spec => ./spec

go.sum

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ=
1212
github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI=
1313
github.com/golang-jwt/jwt v3.2.2+incompatible h1:IfV12K8xAKAnZqdXVzCZ+TOjboZ2keLg81eXfW3O+oY=
1414
github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I=
15-
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
15+
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
1616
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
1717
github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38 h1:yAJXTCF9TqKcTiHJAE8dj7HMvPfh66eeA2JYW7eFpSE=
1818
github.com/gopherjs/gopherjs v1.17.2 h1:fQnZVsXk8uxXIStYb0N4bGk7jeyTalG/wsZjQ25dO0g=
@@ -48,19 +48,19 @@ github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6Kllzaw
4848
github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
4949
github.com/valyala/fasttemplate v1.2.2 h1:lxLXG0uE3Qnshl9QyaK6XJxMXlQZELvChBOCmQD0Loo=
5050
github.com/valyala/fasttemplate v1.2.2/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ=
51-
golang.org/x/arch v0.15.0 h1:QtOrQd0bTUnhNVNndMpLHNWrDmYzZ2KDqSrEymqInZw=
52-
golang.org/x/arch v0.15.0/go.mod h1:JmwW7aLIoRUKgaTzhkiEFxvcEiQGyOg9BMonBJUS7EE=
53-
golang.org/x/exp v0.0.0-20250606033433-dcc06ee1d476 h1:bsqhLWFR6G6xiQcb+JoGqdKdRU6WzPWmK8E0jxTjzo4=
54-
golang.org/x/exp v0.0.0-20250606033433-dcc06ee1d476/go.mod h1:3//PLf8L/X+8b4vuAfHzxeRUl04Adcb341+IGKfnqS8=
51+
golang.org/x/arch v0.11.0 h1:KXV8WWKCXm6tRpLirl2szsO5j/oOODwZf4hATmGVNs4=
52+
golang.org/x/arch v0.11.0/go.mod h1:FEVrYAQjsQXMVJ1nsMoVVXPZg6p2JE2mx8psSWTDQys=
53+
golang.org/x/exp v0.0.0-20240404231335-c0f41cb1a7a0 h1:985EYyeCOxTpcgOTJpflJUwOeEz0CQOdPt73OzpE9F8=
54+
golang.org/x/exp v0.0.0-20240404231335-c0f41cb1a7a0/go.mod h1:/lliqkxwWAhPjf5oSOIJup2XcqJaw8RGS6k3TGEc7GI=
5555
golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w=
56-
golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw=
57-
golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
56+
golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w=
57+
golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
5858
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
59-
golang.org/x/sys v0.34.0 h1:H5Y5sJ2L2JRdyv7ROF1he/lPdvFsd0mJHFw2ThKHxLA=
60-
golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
61-
golang.org/x/text v0.27.0 h1:4fGWRpyh641NLlecmyl4LOe6yDdfaYNrGb2zdfo4JV4=
62-
golang.org/x/text v0.27.0/go.mod h1:1D28KMCvyooCX9hBiosv5Tz/+YLxj0j7XhWjpSUF7CU=
63-
golang.org/x/tools v0.34.0 h1:qIpSLOxeCYGg9TrcJokLBG4KFA6d795g0xkBkiESGlo=
59+
golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo=
60+
golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
61+
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
62+
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
63+
golang.org/x/tools v0.20.0 h1:hz/CVckiOxybQvFw6h7b/q80NTr9IUQb4s1IIzW7KNY=
6464
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
6565
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
6666
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=

internal/trace/span.go

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -821,6 +821,8 @@ func (s *Span) isDoFinish() bool {
821821
}
822822

823823
func (s *Span) setSystemTag(ctx context.Context) {
824+
s.lock.Lock()
825+
defer s.lock.Unlock()
824826
if s.SystemTagMap == nil {
825827
s.SystemTagMap = make(map[string]interface{})
826828
}
@@ -839,9 +841,7 @@ func (s *Span) setSystemTag(ctx context.Context) {
839841
}
840842
runtime.LoopSDKVersion = internal.Version()
841843

842-
s.lock.Lock()
843844
s.SystemTagMap[tracespec.Runtime_] = util.ToJSON(runtime)
844-
s.lock.Unlock()
845845
}
846846

847847
// SetStatInfo sets statistical data.
@@ -874,6 +874,8 @@ func (s *Span) GetStartTime() time.Time {
874874
if s == nil {
875875
return time.Time{}
876876
}
877+
s.lock.RLock()
878+
defer s.lock.RUnlock()
877879

878880
return s.StartTime
879881
}
@@ -882,6 +884,8 @@ func (s *Span) GetLogID() string {
882884
if s == nil {
883885
return ""
884886
}
887+
s.lock.RLock()
888+
defer s.lock.RUnlock()
885889

886890
return s.LogID
887891
}
@@ -890,6 +894,8 @@ func (s *Span) GetServiceName() string {
890894
if s == nil {
891895
return ""
892896
}
897+
s.lock.RLock()
898+
defer s.lock.RUnlock()
893899

894900
return s.ServiceName
895901
}
@@ -936,13 +942,13 @@ func (s *Span) SetRuntime(ctx context.Context, runtime tracespec.Runtime) {
936942
if s == nil {
937943
return
938944
}
945+
s.lock.Lock()
946+
defer s.lock.Unlock()
939947
if s.SystemTagMap == nil {
940948
s.SystemTagMap = make(map[string]interface{})
941949
}
942950
runtime.Scene = tracespec.VSceneCustom
943-
s.lock.Lock()
944951
s.SystemTagMap[tracespec.Runtime_] = runtime
945-
s.lock.Unlock()
946952
}
947953

948954
func (s *Span) SetServiceName(ctx context.Context, serviceName string) {
@@ -973,6 +979,8 @@ func (s *Span) GetFinishTime() time.Time {
973979
if s == nil {
974980
return time.Time{}
975981
}
982+
s.lock.RLock()
983+
defer s.lock.RUnlock()
976984

977985
return s.FinishTime
978986
}

internal/version.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,5 @@ package internal
55

66
// Version returns the version of the loop package.
77
func Version() string {
8-
return "v0.1.13"
8+
return "v0.1.14"
99
}

0 commit comments

Comments
 (0)