Skip to content

Commit 4adb1af

Browse files
authored
[FSSDK-9862] Add OpenTelemetry Tracing support (#385)
* add tracing option in go-sdk * add tracing for track event * update version * update otel tracer * update sdk implementation * add comment * add otel tracing * fix linter error * update otel dependency * fix typo & update license header * update go version * use constant for tracer name * add unit tests * change otel tracing flow * skip version update for FSC test * add WithTraceContext() method for OptimizelyUserContext struct * add unit tests * add one more unit test * add review changes * fix linter * remove WithTraceContext() for UserContext
1 parent c270819 commit 4adb1af

File tree

11 files changed

+435
-35
lines changed

11 files changed

+435
-35
lines changed

examples/benchmark/main.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,15 @@
33
package main
44

55
import (
6-
"io/ioutil"
76
"log"
87
"os"
98
"path"
109

10+
"github.com/pkg/profile"
11+
1112
"github.com/optimizely/go-sdk/pkg/client"
1213
"github.com/optimizely/go-sdk/pkg/decision"
1314
"github.com/optimizely/go-sdk/pkg/entities"
14-
15-
"github.com/pkg/profile"
1615
)
1716

1817
func stressTest() {
@@ -23,7 +22,7 @@ func stressTest() {
2322

2423
var datafileDir = path.Join(os.Getenv("DATAFILES_DIR"), "100_entities.json")
2524

26-
datafile, err := ioutil.ReadFile(datafileDir)
25+
datafile, err := os.ReadFile(datafileDir)
2726
if err != nil {
2827
log.Print(err)
2928
}

go.mod

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,24 @@ require (
88
github.com/json-iterator/go v1.1.12
99
github.com/pkg/errors v0.9.1
1010
github.com/pkg/profile v1.7.0
11-
github.com/stretchr/testify v1.8.2
11+
github.com/stretchr/testify v1.8.4
1212
github.com/twmb/murmur3 v1.1.6
13+
go.opentelemetry.io/otel v1.21.0
14+
go.opentelemetry.io/otel/trace v1.21.0
1315
golang.org/x/sync v0.1.0
1416
)
1517

1618
require (
1719
github.com/davecgh/go-spew v1.1.1 // indirect
1820
github.com/felixge/fgprof v0.9.3 // indirect
21+
github.com/go-logr/logr v1.3.0 // indirect
22+
github.com/go-logr/stdr v1.2.2 // indirect
1923
github.com/google/pprof v0.0.0-20211214055906-6f57359322fd // indirect
2024
github.com/hashicorp/errwrap v1.1.0 // indirect
2125
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
2226
github.com/modern-go/reflect2 v1.0.2 // indirect
2327
github.com/pmezard/go-difflib v1.0.0 // indirect
2428
github.com/stretchr/objx v0.5.0 // indirect
29+
go.opentelemetry.io/otel/metric v1.21.0 // indirect
2530
gopkg.in/yaml.v3 v3.0.1 // indirect
2631
)

go.sum

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,13 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c
66
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
77
github.com/felixge/fgprof v0.9.3 h1:VvyZxILNuCiUCSXtPtYmmtGvb65nqXh2QFWc0Wpf2/g=
88
github.com/felixge/fgprof v0.9.3/go.mod h1:RdbpDgzqYVh/T9fPELJyV7EYJuHB55UTEULNun8eiPw=
9+
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
10+
github.com/go-logr/logr v1.3.0 h1:2y3SDp0ZXuc6/cjLSZ+Q3ir+QB9T/iG5yYRXqsagWSY=
11+
github.com/go-logr/logr v1.3.0/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
12+
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
13+
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
14+
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
15+
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
916
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
1017
github.com/google/pprof v0.0.0-20211214055906-6f57359322fd h1:1FjCyPC+syAzJ5/2S8fqdZK1R22vvA0J7JZKcuOIQ7Y=
1118
github.com/google/pprof v0.0.0-20211214055906-6f57359322fd/go.mod h1:KgnwoLYCZ8IQu3XUZ8Nc/bM9CCZFOyjUNOSygVozoDg=
@@ -37,10 +44,16 @@ github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpE
3744
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
3845
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
3946
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
40-
github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8=
41-
github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
47+
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
48+
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
4249
github.com/twmb/murmur3 v1.1.6 h1:mqrRot1BRxm+Yct+vavLMou2/iJt0tNVTTC0QoIjaZg=
4350
github.com/twmb/murmur3 v1.1.6/go.mod h1:Qq/R7NUyOfr65zD+6Q5IHKsJLwP7exErjN6lyyq3OSQ=
51+
go.opentelemetry.io/otel v1.21.0 h1:hzLeKBZEL7Okw2mGzZ0cc4k/A7Fta0uoPgaJCr8fsFc=
52+
go.opentelemetry.io/otel v1.21.0/go.mod h1:QZzNPQPm1zLX4gZK4cMi+71eaorMSGT3A4znnUvNNEo=
53+
go.opentelemetry.io/otel/metric v1.21.0 h1:tlYWfeo+Bocx5kLEloTjbcDwBuELRrIFxwdQ36PlJu4=
54+
go.opentelemetry.io/otel/metric v1.21.0/go.mod h1:o1p3CA8nNHW8j5yuQLdc1eeqEaPfzug24uvsyIEJRWM=
55+
go.opentelemetry.io/otel/trace v1.21.0 h1:WD9i5gzvoUPuXIXH24ZNBudiarZDKuekPqi/E8fpfLc=
56+
go.opentelemetry.io/otel/trace v1.21.0/go.mod h1:LGbsEB0f9LGjN+OZaQQ26sohbOmiMR+BaslueVtS/qQ=
4457
golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o=
4558
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
4659
golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=

pkg/client/client.go

Lines changed: 130 additions & 3 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)