[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})