Skip to content

Commit 9c32b4b

Browse files
converted some spans
1 parent fde162e commit 9c32b4b

23 files changed

Lines changed: 509 additions & 319 deletions

conn/node.go

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@ import (
2121
"github.com/pkg/errors"
2222
"go.etcd.io/etcd/raft/v3"
2323
"go.etcd.io/etcd/raft/v3/raftpb"
24-
otrace "go.opencensus.io/trace"
24+
"go.opentelemetry.io/otel"
25+
"go.opentelemetry.io/otel/trace"
2526
"google.golang.org/protobuf/proto"
2627

2728
"github.com/dgraph-io/badger/v4/y"
@@ -432,7 +433,7 @@ func (n *Node) doSendMessage(to uint64, msgCh chan []byte) error {
432433
}
433434

434435
c := pb.NewRaftClient(pool.Get())
435-
ctx, span := otrace.StartSpan(context.Background(),
436+
ctx, span := otel.Tracer("").Start(context.Background(),
436437
fmt.Sprintf("RaftMessage-%d-to-%d", n.Id, to))
437438
defer span.End()
438439

@@ -473,15 +474,15 @@ func (n *Node) doSendMessage(to uint64, msgCh chan []byte) error {
473474
Payload: &api.Payload{Data: data},
474475
}
475476
slurp(batch) // Pick up more entries from msgCh, if present.
476-
span.Annotatef(nil, "[to: %x] [Packets: %d] Sending data of length: %d.",
477-
to, packets, len(batch.Payload.Data))
477+
span.AddEvent(fmt.Sprintf("[to: %x] [Packets: %d] Sending data of length: %d.",
478+
to, packets, len(batch.Payload.Data)))
478479
if packets%10000 == 0 {
479480
glog.V(2).Infof("[to: %x] [Packets: %d] Sending data of length: %d.",
480481
to, packets, len(batch.Payload.Data))
481482
}
482483
packets++
483484
if err := mc.Send(batch); err != nil {
484-
span.Annotatef(nil, "Error while mc.Send: %v", err)
485+
span.AddEvent(fmt.Sprintf("Error while mc.Send: %v", err))
485486
glog.Errorf("[to: %x] Error while mc.Send: %v", to, err)
486487
switch {
487488
case strings.Contains(err.Error(), "TransientFailure"):
@@ -513,8 +514,7 @@ func (n *Node) doSendMessage(to uint64, msgCh chan []byte) error {
513514
}
514515
case <-ticker.C:
515516
if lastPackets == packets {
516-
span.Annotatef(nil,
517-
"No activity for a while [Packets == %d]. Closing connection.", packets)
517+
span.AddEvent(fmt.Sprintf("No activity for a while [Packets == %d]. Closing connection.", packets))
518518
return mc.CloseSend()
519519
}
520520
lastPackets = packets
@@ -640,34 +640,34 @@ var readIndexOk, readIndexTotal uint64
640640

641641
// WaitLinearizableRead waits until a linearizable read can be performed.
642642
func (n *Node) WaitLinearizableRead(ctx context.Context) error {
643-
span := otrace.FromContext(ctx)
644-
span.Annotate(nil, "WaitLinearizableRead")
643+
span := trace.SpanFromContext(ctx)
644+
span.AddEvent("WaitLinearizableRead")
645645

646646
if num := atomic.AddUint64(&readIndexTotal, 1); num%1000 == 0 {
647647
glog.V(2).Infof("ReadIndex Total: %d\n", num)
648648
}
649649
indexCh := make(chan uint64, 1)
650650
select {
651651
case n.requestCh <- linReadReq{indexCh: indexCh}:
652-
span.Annotate(nil, "Pushed to requestCh")
652+
span.AddEvent("Pushed to requestCh")
653653
case <-ctx.Done():
654-
span.Annotate(nil, "Context expired")
654+
span.AddEvent("Context expired")
655655
return ctx.Err()
656656
}
657657

658658
select {
659659
case index := <-indexCh:
660-
span.Annotatef(nil, "Received index: %d", index)
660+
span.AddEvent(fmt.Sprintf("Received index %d", index))
661661
if index == 0 {
662662
return errReadIndex
663663
} else if num := atomic.AddUint64(&readIndexOk, 1); num%1000 == 0 {
664664
glog.V(2).Infof("ReadIndex OK: %d\n", num)
665665
}
666666
err := n.Applied.WaitForMark(ctx, index)
667-
span.Annotatef(nil, "Error from Applied.WaitForMark: %v", err)
667+
span.AddEvent(fmt.Sprintf("Error from Applied.WaitForMark: %v", err))
668668
return err
669669
case <-ctx.Done():
670-
span.Annotate(nil, "Context expired")
670+
span.AddEvent("Context expired")
671671
return ctx.Err()
672672
}
673673
}

conn/pool.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import (
1414

1515
"github.com/golang/glog"
1616
"github.com/pkg/errors"
17-
"go.opencensus.io/plugin/ocgrpc"
17+
"go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc"
1818
"google.golang.org/grpc"
1919
"google.golang.org/grpc/credentials"
2020
"google.golang.org/grpc/credentials/insecure"
@@ -159,7 +159,7 @@ func (p *Pools) Connect(addr string, tlsClientConf *tls.Config) *Pool {
159159
// newPool creates a new "pool" with one gRPC connection, refcount 0.
160160
func newPool(addr string, tlsClientConf *tls.Config) (*Pool, error) {
161161
conOpts := []grpc.DialOption{
162-
grpc.WithStatsHandler(&ocgrpc.ClientHandler{}),
162+
grpc.WithStatsHandler(otelgrpc.NewClientHandler()),
163163
grpc.WithDefaultCallOptions(
164164
grpc.MaxCallRecvMsgSize(x.GrpcMaxSize),
165165
grpc.MaxCallSendMsgSize(x.GrpcMaxSize),

conn/raft_server.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ package conn
88
import (
99
"context"
1010
"encoding/binary"
11+
"fmt"
1112
"math/rand"
1213
"strconv"
1314
"sync"
@@ -17,7 +18,7 @@ import (
1718
"github.com/golang/glog"
1819
"github.com/pkg/errors"
1920
"go.etcd.io/etcd/raft/v3/raftpb"
20-
otrace "go.opencensus.io/trace"
21+
"go.opentelemetry.io/otel/trace"
2122

2223
"github.com/dgraph-io/dgo/v240/protos/api"
2324
"github.com/hypermodeinc/dgraph/v24/protos/pb"
@@ -183,13 +184,13 @@ func (w *RaftServer) RaftMessage(server pb.Raft_RaftMessageServer) error {
183184
if ctx.Err() != nil {
184185
return ctx.Err()
185186
}
186-
span := otrace.FromContext(ctx)
187+
span := trace.SpanFromContext(ctx)
187188

188189
node := w.GetNode()
189190
if node == nil || node.Raft() == nil {
190191
return ErrNoNode
191192
}
192-
span.Annotatef(nil, "Stream server is node %#x", node.Id)
193+
span.AddEvent(fmt.Sprintf("Stream server is node %d", node.Id))
193194

194195
var rc *pb.RaftContext
195196
raft := node.Raft()
@@ -247,7 +248,7 @@ func (w *RaftServer) RaftMessage(server pb.Raft_RaftMessageServer) error {
247248
}
248249
if loop == 1 {
249250
rc = batch.GetContext()
250-
span.Annotatef(nil, "Stream from %#x", rc.GetId())
251+
span.AddEvent(fmt.Sprintf("Stream from %#x", rc.GetId()))
251252
if rc != nil {
252253
node.Connect(rc.Id, rc.Addr)
253254
}

dgraph/cmd/alpha/run.go

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,7 @@ import (
2828
"github.com/pkg/errors"
2929
"github.com/spf13/cobra"
3030
"go.opencensus.io/plugin/ocgrpc"
31-
otrace "go.opencensus.io/trace"
32-
"go.opencensus.io/zpages"
31+
"go.opentelemetry.io/contrib/zpages"
3332
"golang.org/x/net/trace"
3433
"google.golang.org/grpc"
3534
"google.golang.org/grpc/credentials"
@@ -509,7 +508,7 @@ func setupServer(closer *z.Closer) {
509508
baseMux.HandleFunc("/health", healthCheck)
510509
baseMux.HandleFunc("/state", stateHandler)
511510
baseMux.HandleFunc("/debug/jemalloc", x.JemallocHandler)
512-
zpages.Handle(baseMux, "/debug/z")
511+
http.DefaultServeMux.Handle("/debug/z", zpages.NewTracezHandler(zpages.NewSpanProcessor()))
513512

514513
// TODO: Figure out what this is for?
515514
http.HandleFunc("/debug/store", storeStatsHandler)
@@ -770,10 +769,6 @@ func run() {
770769
return true, true
771770
}
772771
}
773-
otrace.ApplyConfig(otrace.Config{
774-
DefaultSampler: otrace.ProbabilitySampler(x.WorkerConfig.Trace.GetFloat64("ratio")),
775-
MaxAnnotationEventsPerSpan: 256,
776-
})
777772

778773
// Posting will initialize index which requires schema. Hence, initialize
779774
// schema before calling posting.Init().

dgraph/cmd/zero/run.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ import (
2020

2121
"github.com/golang/glog"
2222
"github.com/spf13/cobra"
23-
"go.opencensus.io/plugin/ocgrpc"
2423
otrace "go.opencensus.io/trace"
25-
"go.opencensus.io/zpages"
24+
"go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc"
25+
"go.opentelemetry.io/contrib/zpages"
2626
"golang.org/x/net/trace"
2727
"google.golang.org/grpc"
2828
"google.golang.org/grpc/credentials"
@@ -145,7 +145,7 @@ func (st *state) serveGRPC(l net.Listener, store *raftwal.DiskStorage) {
145145
grpc.MaxRecvMsgSize(x.GrpcMaxSize),
146146
grpc.MaxSendMsgSize(x.GrpcMaxSize),
147147
grpc.MaxConcurrentStreams(1000),
148-
grpc.StatsHandler(&ocgrpc.ServerHandler{}),
148+
grpc.StatsHandler(otelgrpc.NewClientHandler()),
149149
grpc.UnaryInterceptor(audit.AuditRequestGRPC),
150150
}
151151

@@ -314,7 +314,7 @@ func run() {
314314
baseMux.HandleFunc("/enterpriseLicense", st.applyEnterpriseLicense)
315315
}
316316
baseMux.HandleFunc("/debug/jemalloc", x.JemallocHandler)
317-
zpages.Handle(baseMux, "/debug/z")
317+
http.DefaultServeMux.Handle("/debug/z", zpages.NewTracezHandler(zpages.NewSpanProcessor()))
318318

319319
// This must be here. It does not work if placed before Grpc init.
320320
x.Check(st.node.initAndStartNode())

edgraph/access_ee.go

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@ import (
1818
"github.com/golang-jwt/jwt/v5"
1919
"github.com/golang/glog"
2020
"github.com/pkg/errors"
21-
otrace "go.opencensus.io/trace"
21+
"go.opentelemetry.io/otel"
22+
"go.opentelemetry.io/otel/attribute"
23+
"go.opentelemetry.io/otel/trace"
2224
"google.golang.org/grpc/codes"
2325
"google.golang.org/grpc/status"
2426
"google.golang.org/protobuf/proto"
@@ -57,7 +59,7 @@ func (s *Server) Login(ctx context.Context,
5759
"supplying the appropriate license file to Dgraph Zero using the HTTP endpoint.")
5860
}
5961

60-
ctx, span := otrace.StartSpan(ctx, "server.Login")
62+
ctx, span := otel.Tracer("").Start(ctx, "server.Login")
6163
defer span.End()
6264

6365
// record the client ip for this login request
@@ -66,9 +68,7 @@ func (s *Server) Login(ctx context.Context,
6668
return nil, err
6769
} else {
6870
addr = ipAddr.String()
69-
span.Annotate([]otrace.Attribute{
70-
otrace.StringAttribute("client_ip", addr),
71-
}, "client ip for login")
71+
span.AddEvent("client ip for login", trace.WithAttributes(attribute.String("client_ip", addr)))
7272
}
7373

7474
user, err := s.authenticateLogin(ctx, request)
@@ -730,16 +730,14 @@ func authorizeAlter(ctx context.Context, op *api.Operation) error {
730730
}
731731

732732
err := doAuthorizeAlter()
733-
span := otrace.FromContext(ctx)
734-
if span != nil {
735-
span.Annotatef(nil, (&accessEntry{
736-
userId: userId,
737-
groups: groupIds,
738-
preds: preds,
739-
operation: acl.Modify,
740-
allowed: err == nil,
741-
}).String())
742-
}
733+
span := trace.SpanFromContext(ctx)
734+
span.AddEvent((&accessEntry{
735+
userId: userId,
736+
groups: groupIds,
737+
preds: preds,
738+
operation: acl.Modify,
739+
allowed: err == nil,
740+
}).String())
743741

744742
return err
745743
}
@@ -851,9 +849,9 @@ func authorizeMutation(ctx context.Context, gmu *dql.Mutation) error {
851849

852850
err := doAuthorizeMutation()
853851

854-
span := otrace.FromContext(ctx)
852+
span := trace.SpanFromContext(ctx)
855853
if span != nil {
856-
span.Annotatef(nil, (&accessEntry{
854+
span.AddEvent((&accessEntry{
857855
userId: userId,
858856
groups: groupIds,
859857
preds: preds,
@@ -1008,8 +1006,8 @@ func authorizeQuery(ctx context.Context, parsedReq *dql.Result, graphql bool) er
10081006
return err
10091007
}
10101008

1011-
if span := otrace.FromContext(ctx); span != nil {
1012-
span.Annotatef(nil, (&accessEntry{
1009+
if span := trace.SpanFromContext(ctx); span != nil {
1010+
span.AddEvent((&accessEntry{
10131011
userId: userId,
10141012
groups: groupIds,
10151013
preds: preds,

edgraph/alter.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,12 @@ import (
1818
"github.com/hypermodeinc/dgraph/v24/schema"
1919
"github.com/hypermodeinc/dgraph/v24/worker"
2020
"github.com/hypermodeinc/dgraph/v24/x"
21+
"go.opentelemetry.io/otel"
22+
"go.opentelemetry.io/otel/attribute"
23+
"go.opentelemetry.io/otel/trace"
2124

2225
"github.com/golang/glog"
2326
"github.com/pkg/errors"
24-
otrace "go.opencensus.io/trace"
2527
"google.golang.org/grpc/status"
2628
)
2729

@@ -249,9 +251,9 @@ func executeSetSchema(ctx context.Context, startTs uint64, req *apiv25.AlterRequ
249251

250252
// Alter handles requests to change the schema or remove parts or all of the data.
251253
func (s *ServerV25) Alter(ctx context.Context, req *apiv25.AlterRequest) (*apiv25.AlterResponse, error) {
252-
ctx, span := otrace.StartSpan(ctx, "ServerV25.Alter")
254+
ctx, span := otel.Tracer("").Start(ctx, "ServerV25.Alter")
253255
defer span.End()
254-
span.Annotatef(nil, "Alter operation: %+v", req)
256+
span.AddEvent("Alter operation", trace.WithAttributes(attribute.String("request", req.String())))
255257

256258
// Always print out Alter operations because they are important and rare.
257259
glog.Infof("Received ALTER op: %+v", req)

0 commit comments

Comments
 (0)