Skip to content

Commit 23f37ba

Browse files
fix(core): upgrade opencensus to opentelemetry
1 parent 15ba2a3 commit 23f37ba

3 files changed

Lines changed: 71 additions & 23 deletions

File tree

go.mod

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module github.com/hypermodeinc/dgraph/v24
22

3-
go 1.22.11
3+
go 1.22.12
44

55
require (
66
contrib.go.opencensus.io/exporter/jaeger v0.2.1
@@ -52,18 +52,22 @@ require (
5252
github.com/xdg/scram v1.0.5
5353
go.etcd.io/etcd/raft/v3 v3.5.18
5454
go.opencensus.io v0.24.0
55+
go.opentelemetry.io/otel v1.34.0
56+
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.34.0
57+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.34.0
58+
go.opentelemetry.io/otel/sdk v1.34.0
5559
go.uber.org/zap v1.27.0
56-
golang.org/x/crypto v0.32.0
60+
golang.org/x/crypto v0.33.0
5761
golang.org/x/exp v0.0.0-20250128182459-e0ece0dbea4c
5862
golang.org/x/mod v0.22.0
59-
golang.org/x/net v0.34.0
63+
golang.org/x/net v0.35.0
6064
golang.org/x/sync v0.11.0
6165
golang.org/x/sys v0.30.0
62-
golang.org/x/term v0.28.0
63-
golang.org/x/text v0.21.0
66+
golang.org/x/term v0.29.0
67+
golang.org/x/text v0.22.0
6468
golang.org/x/tools v0.29.0
6569
google.golang.org/grpc v1.70.0
66-
google.golang.org/protobuf v1.36.4
70+
google.golang.org/protobuf v1.36.5
6771
gopkg.in/yaml.v3 v3.0.1
6872
)
6973

@@ -98,8 +102,9 @@ require (
98102
github.com/gogo/protobuf v1.3.2 // indirect
99103
github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect
100104
github.com/golang/protobuf v1.5.4 // indirect
101-
github.com/google/flatbuffers v25.1.24+incompatible // indirect
105+
github.com/google/flatbuffers v25.2.10+incompatible // indirect
102106
github.com/google/pprof v0.0.0-20250128161936-077ca0a936bf // indirect
107+
github.com/grpc-ecosystem/grpc-gateway/v2 v2.25.1 // indirect
103108
github.com/hashicorp/errwrap v1.1.0 // indirect
104109
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
105110
github.com/hashicorp/go-multierror v1.1.1 // indirect
@@ -153,14 +158,13 @@ require (
153158
github.com/xdg/stringprep v1.0.3 // indirect
154159
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
155160
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.59.0 // indirect
156-
go.opentelemetry.io/otel v1.34.0 // indirect
157-
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.34.0 // indirect
158161
go.opentelemetry.io/otel/metric v1.34.0 // indirect
159-
go.opentelemetry.io/otel/sdk v1.34.0 // indirect
160162
go.opentelemetry.io/otel/trace v1.34.0 // indirect
163+
go.opentelemetry.io/proto/otlp v1.5.0 // indirect
161164
go.uber.org/multierr v1.11.0 // indirect
162165
golang.org/x/time v0.9.0 // indirect
163166
google.golang.org/api v0.219.0 // indirect
167+
google.golang.org/genproto/googleapis/api v0.0.0-20250115164207-1a7da9e5054f // indirect
164168
google.golang.org/genproto/googleapis/rpc v0.0.0-20250127172529-29210b9bc287 // indirect
165169
gopkg.in/DataDog/dd-trace-go.v1 v1.71.0 // indirect
166170
gopkg.in/ini.v1 v1.67.0 // indirect

go.sum

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -267,8 +267,8 @@ github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Z
267267
github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
268268
github.com/google/codesearch v1.2.0 h1:VlyAH+AntnIbGGArOUs6sEBdPVwYvf1e8Uw3/TC77cA=
269269
github.com/google/codesearch v1.2.0/go.mod h1:9wQjQDVAP7Mvt96tw1KqVeXncdBLOWUYdxRiHlsG6Xc=
270-
github.com/google/flatbuffers v25.1.24+incompatible h1:4wPqL3K7GzBd1CwyhSd3usxLKOaJN/AC6puCca6Jm7o=
271-
github.com/google/flatbuffers v25.1.24+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8=
270+
github.com/google/flatbuffers v25.2.10+incompatible h1:F3vclr7C3HpB1k9mxCGRMXq6FdUalZ6H/pNX4FP1v0Q=
271+
github.com/google/flatbuffers v25.2.10+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8=
272272
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
273273
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
274274
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
@@ -647,8 +647,8 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U
647647
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
648648
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
649649
golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58=
650-
golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc=
651-
golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc=
650+
golang.org/x/crypto v0.33.0 h1:IOBPskki6Lysi0lo9qQvbxiQ+FvsCC/YWOecCHAixus=
651+
golang.org/x/crypto v0.33.0/go.mod h1:bVdXmD7IV/4GdElGPozy6U7lWdRXA4qyRVGJV57uQ5M=
652652
golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
653653
golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
654654
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
@@ -728,8 +728,8 @@ golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su
728728
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
729729
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
730730
golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
731-
golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0=
732-
golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k=
731+
golang.org/x/net v0.35.0 h1:T5GQRQb2y08kTAByq9L4/bz8cipCdA8FbRTXewonqY8=
732+
golang.org/x/net v0.35.0/go.mod h1:EglIi67kWsHKlRzzVMUD93VMSWGFOMSZgxFjparz1Qk=
733733
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
734734
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
735735
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -804,8 +804,8 @@ golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
804804
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
805805
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
806806
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
807-
golang.org/x/term v0.28.0 h1:/Ts8HFuMR2E6IP/jlo7QVLZHggjKQbhu/7H0LJFr3Gg=
808-
golang.org/x/term v0.28.0/go.mod h1:Sw/lC2IAUZ92udQNf3WodGtn4k/XoLyZoh8v/8uiwek=
807+
golang.org/x/term v0.29.0 h1:L6pJp37ocefwRRtYPKSWOWzOtWSxVajvz2ldH/xi3iU=
808+
golang.org/x/term v0.29.0/go.mod h1:6bl4lRlvVuDgSf3179VpIxBF0o10JUpXWOnI7nErv7s=
809809
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
810810
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
811811
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -814,8 +814,8 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
814814
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
815815
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
816816
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
817-
golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=
818-
golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
817+
golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM=
818+
golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY=
819819
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
820820
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
821821
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@@ -935,7 +935,6 @@ google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7Fc
935935
google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
936936
google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
937937
google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
938-
google.golang.org/genproto v0.0.0-20241118233622-e639e219e697 h1:ToEetK57OidYuqD4Q5w+vfEnPvPpuTwedCNVohYJfNk=
939938
google.golang.org/genproto/googleapis/api v0.0.0-20250115164207-1a7da9e5054f h1:gap6+3Gk41EItBuyi4XX/bp4oqJ3UwuIMl25yGinuAA=
940939
google.golang.org/genproto/googleapis/api v0.0.0-20250115164207-1a7da9e5054f/go.mod h1:Ic02D47M+zbarjYYUlK57y316f2MoN0gjAwI3f2S95o=
941940
google.golang.org/genproto/googleapis/rpc v0.0.0-20250127172529-29210b9bc287 h1:J1H9f+LEdWAfHcez/4cvaVBox7cOYT+IU6rgqj5x++8=
@@ -969,8 +968,8 @@ google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp0
969968
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
970969
google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
971970
google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
972-
google.golang.org/protobuf v1.36.4 h1:6A3ZDJHn/eNqc1i+IdefRzy/9PokBTPvcqMySR7NNIM=
973-
google.golang.org/protobuf v1.36.4/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
971+
google.golang.org/protobuf v1.36.5 h1:tPhr+woSbjfYvY6/GPufUoYizxw1cF/yFoxJ2fmpwlM=
972+
google.golang.org/protobuf v1.36.5/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
974973
gopkg.in/DataDog/dd-trace-go.v1 v1.22.0/go.mod h1:DVp8HmDh8PuTu2Z0fVVlBsyWaC++fzwVCaGWylTe3tg=
975974
gopkg.in/DataDog/dd-trace-go.v1 v1.71.0 h1:+Lr4YwJQGZuIOoIFNjMY5l7bGZblbKrwMtmbIiWFmjI=
976975
gopkg.in/DataDog/dd-trace-go.v1 v1.71.0/go.mod h1:0M7D+g0aTIlQgxqTSWrmTjssl+POsL5TVDaX2QFKk4U=

x/metrics.go

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,12 @@ import (
3131
"go.opencensus.io/stats/view"
3232
"go.opencensus.io/tag"
3333
"go.opencensus.io/trace"
34+
"go.opentelemetry.io/otel"
35+
"go.opentelemetry.io/otel/exporters/otlp/otlptrace"
36+
"go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp"
37+
"go.opentelemetry.io/otel/sdk/resource"
38+
traceTel "go.opentelemetry.io/otel/sdk/trace"
39+
semconv "go.opentelemetry.io/otel/semconv/v1.4.0"
3440

3541
"github.com/dgraph-io/badger/v4"
3642
"github.com/dgraph-io/ristretto/v2/z"
@@ -437,6 +443,43 @@ var (
437443
}
438444
)
439445

446+
func startTracing() (*traceTel.TracerProvider, error) {
447+
headers := map[string]string{
448+
"content-type": "application/json",
449+
}
450+
451+
exporter, err := otlptrace.New(
452+
context.Background(),
453+
otlptracehttp.NewClient(
454+
otlptracehttp.WithEndpoint("localhost:4318"),
455+
otlptracehttp.WithHeaders(headers),
456+
otlptracehttp.WithInsecure(),
457+
),
458+
)
459+
if err != nil {
460+
return nil, fmt.Errorf("creating new exporter: %w", err)
461+
}
462+
463+
tracerprovider := traceTel.NewTracerProvider(
464+
traceTel.WithBatcher(
465+
exporter,
466+
traceTel.WithMaxExportBatchSize(traceTel.DefaultMaxExportBatchSize),
467+
traceTel.WithBatchTimeout(traceTel.DefaultScheduleDelay*time.Millisecond),
468+
traceTel.WithMaxExportBatchSize(traceTel.DefaultMaxExportBatchSize),
469+
),
470+
traceTel.WithResource(
471+
resource.NewWithAttributes(
472+
semconv.SchemaURL,
473+
semconv.ServiceNameKey.String("dgraph.alpha"),
474+
),
475+
),
476+
)
477+
478+
otel.SetTracerProvider(tracerprovider)
479+
480+
return tracerprovider, nil
481+
}
482+
440483
func init() {
441484
Conf = expvar.NewMap("dgraph_config")
442485

@@ -465,6 +508,8 @@ func init() {
465508
collectors.GoRuntimeMetricsRule{Matcher: regexp.MustCompile("/.*")})))
466509
promRegistry.MustRegister(collectors.NewProcessCollector(collectors.ProcessCollectorOpts{}))
467510

511+
startTracing()
512+
468513
pe, err := oc_prom.NewExporter(oc_prom.Options{
469514
// includes a process_* metrics, a GoCollector for go_* metrics, and the badger_* metrics.
470515
Registry: promRegistry,

0 commit comments

Comments
 (0)