From 192aa168ef986cddc555eedd64cf3341577fa979 Mon Sep 17 00:00:00 2001 From: Jim Ma Date: Fri, 22 Oct 2021 14:42:44 +0800 Subject: [PATCH] chore: optimize span context for report (#747) Signed-off-by: Jim Ma --- client/daemon/peer/peertask_file_callback.go | 9 +++++++-- client/daemon/peer/peertask_stream_callback.go | 9 +++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/client/daemon/peer/peertask_file_callback.go b/client/daemon/peer/peertask_file_callback.go index d69e17fb179..826b29c4b91 100644 --- a/client/daemon/peer/peertask_file_callback.go +++ b/client/daemon/peer/peertask_file_callback.go @@ -17,8 +17,11 @@ package peer import ( + "context" "time" + "go.opentelemetry.io/otel/trace" + "d7y.io/dragonfly/v2/client/config" "d7y.io/dragonfly/v2/client/daemon/storage" "d7y.io/dragonfly/v2/internal/dfcodes" @@ -92,7 +95,8 @@ func (p *filePeerTaskCallback) Done(pt Task) error { return e } p.ptm.PeerTaskDone(p.req.PeerId) - peerResultCtx, peerResultSpan := tracer.Start(p.pt.ctx, config.SpanReportPeerResult) + ctx := trace.ContextWithSpan(context.Background(), trace.SpanFromContext(p.pt.ctx)) + peerResultCtx, peerResultSpan := tracer.Start(ctx, config.SpanReportPeerResult) defer peerResultSpan.End() err := p.pt.schedulerClient.ReportPeerResult(peerResultCtx, &scheduler.PeerResult{ TaskId: pt.GetTaskID(), @@ -121,7 +125,8 @@ func (p *filePeerTaskCallback) Fail(pt Task, code base.Code, reason string) erro p.ptm.PeerTaskDone(p.req.PeerId) var end = time.Now() pt.Log().Errorf("file peer task failed, code: %d, reason: %s", code, reason) - peerResultCtx, peerResultSpan := tracer.Start(p.pt.ctx, config.SpanReportPeerResult) + ctx := trace.ContextWithSpan(context.Background(), trace.SpanFromContext(p.pt.ctx)) + peerResultCtx, peerResultSpan := tracer.Start(ctx, config.SpanReportPeerResult) defer peerResultSpan.End() err := p.pt.schedulerClient.ReportPeerResult(peerResultCtx, &scheduler.PeerResult{ TaskId: pt.GetTaskID(), diff --git a/client/daemon/peer/peertask_stream_callback.go b/client/daemon/peer/peertask_stream_callback.go index 4ccb4aa295d..f96762c7b52 100644 --- a/client/daemon/peer/peertask_stream_callback.go +++ b/client/daemon/peer/peertask_stream_callback.go @@ -17,8 +17,11 @@ package peer import ( + "context" "time" + "go.opentelemetry.io/otel/trace" + "d7y.io/dragonfly/v2/client/config" "d7y.io/dragonfly/v2/client/daemon/storage" "d7y.io/dragonfly/v2/internal/dfcodes" @@ -90,7 +93,8 @@ func (p *streamPeerTaskCallback) Done(pt Task) error { return e } p.ptm.PeerTaskDone(p.req.PeerId) - peerResultCtx, peerResultSpan := tracer.Start(p.pt.ctx, config.SpanReportPeerResult) + ctx := trace.ContextWithSpan(context.Background(), trace.SpanFromContext(p.pt.ctx)) + peerResultCtx, peerResultSpan := tracer.Start(ctx, config.SpanReportPeerResult) defer peerResultSpan.End() err := p.pt.schedulerClient.ReportPeerResult(peerResultCtx, &scheduler.PeerResult{ TaskId: pt.GetTaskID(), @@ -119,7 +123,8 @@ func (p *streamPeerTaskCallback) Fail(pt Task, code base.Code, reason string) er p.ptm.PeerTaskDone(p.req.PeerId) var end = time.Now() pt.Log().Errorf("stream peer task failed, code: %d, reason: %s", code, reason) - peerResultCtx, peerResultSpan := tracer.Start(p.pt.ctx, config.SpanReportPeerResult) + ctx := trace.ContextWithSpan(context.Background(), trace.SpanFromContext(p.pt.ctx)) + peerResultCtx, peerResultSpan := tracer.Start(ctx, config.SpanReportPeerResult) defer peerResultSpan.End() err := p.pt.schedulerClient.ReportPeerResult(peerResultCtx, &scheduler.PeerResult{ TaskId: pt.GetTaskID(),