[VOL-3141] Created Span for various Openflow and Ofagent operations
Change-Id: I49e371479edc087dcf89bd60b43c000ab0bb5547
diff --git a/internal/pkg/ofagent/changeEvent.go b/internal/pkg/ofagent/changeEvent.go
index 7ec9aae..3f5bb7f 100644
--- a/internal/pkg/ofagent/changeEvent.go
+++ b/internal/pkg/ofagent/changeEvent.go
@@ -29,6 +29,9 @@
)
func (ofa *OFAgent) receiveChangeEvents(ctx context.Context) {
+ span, ctx := log.CreateChildSpan(ctx, "receive-change-events")
+ defer span.Finish()
+
logger.Debug(ctx, "receive-change-events-started")
// If we exit, assume disconnected
defer func() {
diff --git a/internal/pkg/ofagent/connection.go b/internal/pkg/ofagent/connection.go
index f369ab3..4fe0de3 100644
--- a/internal/pkg/ofagent/connection.go
+++ b/internal/pkg/ofagent/connection.go
@@ -55,7 +55,7 @@
if err == nil {
svc := voltha.NewVolthaServiceClient(conn)
if svc != nil {
- if _, err = svc.GetVoltha(context.Background(), &empty.Empty{}); err == nil {
+ if _, err = svc.GetVoltha(log.WithSpanFromContext(context.Background(), ctx), &empty.Empty{}); err == nil {
logger.Debugw(ctx, "Established connection to Voltha",
log.Fields{
"VolthaApiEndPoint": ofa.VolthaApiEndPoint,
diff --git a/internal/pkg/ofagent/packetIn.go b/internal/pkg/ofagent/packetIn.go
index 2a49e94..4d28410 100644
--- a/internal/pkg/ofagent/packetIn.go
+++ b/internal/pkg/ofagent/packetIn.go
@@ -31,6 +31,9 @@
)
func (ofa *OFAgent) receivePacketsIn(ctx context.Context) {
+ span, ctx := log.CreateChildSpan(ctx, "receive-packets-in")
+ defer span.Finish()
+
logger.Debug(ctx, "receive-packets-in-started")
// If we exit, assume disconnected
defer func() {
@@ -42,7 +45,7 @@
return
}
opt := grpc.EmptyCallOption{}
- streamCtx, streamDone := context.WithCancel(context.Background())
+ streamCtx, streamDone := context.WithCancel(log.WithSpanFromContext(context.Background(), ctx))
defer streamDone()
stream, err := ofa.volthaClient.Get().ReceivePacketsIn(streamCtx, &empty.Empty{}, opt)
if err != nil {
@@ -70,6 +73,9 @@
}
func (ofa *OFAgent) handlePacketsIn(ctx context.Context) {
+ span, ctx := log.CreateChildSpan(ctx, "handle-packets-in")
+ defer span.Finish()
+
logger.Debug(ctx, "handle-packets-in-started")
top:
for {
diff --git a/internal/pkg/ofagent/packetOut.go b/internal/pkg/ofagent/packetOut.go
index d4b6a73..c8bd299 100644
--- a/internal/pkg/ofagent/packetOut.go
+++ b/internal/pkg/ofagent/packetOut.go
@@ -25,6 +25,9 @@
)
func (ofa *OFAgent) streamPacketOut(ctx context.Context) {
+ span, ctx := log.CreateChildSpan(ctx, "stream-packet-out")
+ defer span.Finish()
+
logger.Debug(ctx, "packet-out-started")
// If we exit, assume disconnected
defer func() {
@@ -36,7 +39,7 @@
return
}
opt := grpc.EmptyCallOption{}
- streamCtx, streamDone := context.WithCancel(context.Background())
+ streamCtx, streamDone := context.WithCancel(log.WithSpanFromContext(context.Background(), ctx))
outClient, err := ofa.volthaClient.Get().StreamPacketsOut(streamCtx, opt)
defer streamDone()
if err != nil {
diff --git a/internal/pkg/ofagent/refresh.go b/internal/pkg/ofagent/refresh.go
index 43cbb86..f2dd1b0 100644
--- a/internal/pkg/ofagent/refresh.go
+++ b/internal/pkg/ofagent/refresh.go
@@ -43,13 +43,16 @@
}
func (ofa *OFAgent) refreshDeviceList(ctx context.Context) {
+ span, ctx := log.CreateChildSpan(ctx, "refresh-device-list")
+ defer span.Finish()
+
// If we exit, assume disconnected
if ofa.volthaClient == nil {
logger.Error(ctx, "no-voltha-connection")
ofa.events <- ofaEventVolthaDisconnected
return
}
- deviceList, err := ofa.volthaClient.Get().ListLogicalDevices(context.Background(), &empty.Empty{})
+ deviceList, err := ofa.volthaClient.Get().ListLogicalDevices(log.WithSpanFromContext(context.Background(), ctx), &empty.Empty{})
if err != nil {
logger.Errorw(ctx, "ofagent failed to query device list from voltha",
log.Fields{"error": err})