From bcd4ad5781b5bd8c1aa336c2000168b98126c7eb Mon Sep 17 00:00:00 2001 From: hardstylewyl <827778732@qq.com> Date: Wed, 16 Apr 2025 10:59:21 +0800 Subject: [PATCH] =?UTF-8?q?add-trace:=E5=A2=9E=E5=8A=A0=E9=93=BE=E8=B7=AF?= =?UTF-8?q?=E8=BF=BD=E8=B8=AA=20-=20=E6=96=B0=E5=A2=9E/=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E8=BD=A8=E8=BF=B9=20-=20=E6=96=B0=E5=A2=9E/=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E8=BD=A8=E8=BF=B9=E4=BA=8B=E4=BB=B6=E5=A4=84=E7=90=86=E8=B7=B3?= =?UTF-8?q?=E8=BF=87=20-=20=E6=8E=A8=E9=80=81=E6=8B=A6=E6=88=AA=E5=A4=B1?= =?UTF-8?q?=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CAP/EventHandlers/TrackPushEventHandler.cs | 10 ++++++++++ .../CAP/EventHandlers/TrackUpsertEventHandler.cs | 10 ++++++++-- .../Services/ProvideServices/TrackService.cs | 6 ++++++ 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/SJZY.Track.Application/CAP/EventHandlers/TrackPushEventHandler.cs b/src/SJZY.Track.Application/CAP/EventHandlers/TrackPushEventHandler.cs index 7882d4b1..9090ffa7 100644 --- a/src/SJZY.Track.Application/CAP/EventHandlers/TrackPushEventHandler.cs +++ b/src/SJZY.Track.Application/CAP/EventHandlers/TrackPushEventHandler.cs @@ -5,6 +5,7 @@ using Microsoft.Extensions.Options; using Newtonsoft.Json; using SJZY.Expand.ABP.Core.PublicMethords; using SJZY.InterfaceRelay.Application.Contracts; +using SJZY.OTel; using SJZY.Track.Application.Contract.Dtos.TrackPush; using SJZY.Track.Application.Contract.Events; using SJZY.Track.Application.Contract.Services; @@ -549,6 +550,11 @@ public class TrackPushEventHandler : ITransientDependency, ICapSubscribe //轨迹推送失败(被拦截) private void TrackPushFailedPublicTopic(string failedMessage, TrackPushEvent @event, OrderEntity order) { + using var activity = ActivityHelper.CreateSpanActivity("TrackPushEventHandler"); + activity.SetTag("TrackPushFailedPublicTopic", failedMessage); + activity.SetTag("failedMessage", failedMessage); + activity.SetTag("@event", @event); + activity.SetTag("order", order); _broadcastingService.TrackPushFailedPubilcTopic(new TrackPushRecordDto { SubSystemCode = @event.SubSystemCode, @@ -581,6 +587,10 @@ public class TrackPushEventHandler : ITransientDependency, ICapSubscribe List pushOrUpdateInputs ) { + using var activity = ActivityHelper.CreateSpanActivity("TrackPushEventHandler"); + activity.SetTag("TrackPushFailedPublicTopic", failedMessage); + activity.SetTag("failedMessage", failedMessage); + activity.SetTag("@event", @event); foreach (var pushInput in pushOrUpdateInputs) { _broadcastingService.TrackPushFailedPubilcTopic(new TrackPushRecordDto diff --git a/src/SJZY.Track.Application/CAP/EventHandlers/TrackUpsertEventHandler.cs b/src/SJZY.Track.Application/CAP/EventHandlers/TrackUpsertEventHandler.cs index 9ddd0b87..181e671b 100644 --- a/src/SJZY.Track.Application/CAP/EventHandlers/TrackUpsertEventHandler.cs +++ b/src/SJZY.Track.Application/CAP/EventHandlers/TrackUpsertEventHandler.cs @@ -1,8 +1,8 @@ -using System.Diagnostics; using DotNetCore.CAP; using Microsoft.Extensions.Logging; using SJZY.Expand.ABP.Core.Logger; using SJZY.Expand.ABP.Core.PublicMethords; +using SJZY.OTel; using SJZY.Track.Application.Contract.Events; using SJZY.Track.Application.Contract.Services; using SJZY.Track.Application.Services.Warning.Handlers; @@ -11,7 +11,6 @@ using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate; using SJZY.Track.Domain.Aggregates.WarningAggregate.Signals; using SJZY.Track.Domain.Dtos.TrackContents; using SJZY.Track.Domain.Enums; -using SJZY.Track.Domain.Extensions; using SJZY.Track.Domain.Queries; using Volo.Abp.DependencyInjection; using OrderIdentifier = SJZY.Track.Application.Contract.Events.OrderIdentifier; @@ -309,11 +308,14 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe // 修改了extra,要校验修改后的extra是否存在 || (!string.IsNullOrWhiteSpace(@event.NewExtra) && x.Extra == @event.NewExtra)).ToList(); + using var activity = ActivityHelper.CreateSpanActivity("TrackUpsertEventHandler"); if (@event.IsAdd) { if (existTracks.Count > 0) { _logger.LogInformation("订单已经存在不允许重复的轨迹,不允许重复添加:{@event}", @event); + activity.SetTag("errorMsg", "订单已经存在不允许重复的轨迹,不允许重复添加"); + activity.SetTag("@event", @event); continue; } @@ -325,12 +327,16 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe if (existTracks.Count == 0) { _logger.LogInformation("订单不存在轨迹,不允许修改:{@event}", @event); + activity.SetTag("errorMsg", "订单不存在轨迹,不允许修改"); + activity.SetTag("@event", @event); continue; } if (existTracks.Count > 1) { _logger.LogInformation("订单存在多条轨迹不允许修改:{@event}", @event); + activity.SetTag("errorMsg", "订单存在多条轨迹不允许修改"); + activity.SetTag("@event", @event); continue; } diff --git a/src/SJZY.Track.Application/Services/ProvideServices/TrackService.cs b/src/SJZY.Track.Application/Services/ProvideServices/TrackService.cs index 55088a90..5b383eee 100644 --- a/src/SJZY.Track.Application/Services/ProvideServices/TrackService.cs +++ b/src/SJZY.Track.Application/Services/ProvideServices/TrackService.cs @@ -1,5 +1,7 @@ using DotNetCore.CAP; using Microsoft.AspNetCore.Http; +using SJZY.Expand.ABP.Core.PublicMethords; +using SJZY.OTel; using SJZY.Track.Application.Contract.Dtos.ProvideServices; using SJZY.Track.Application.Contract.Events; using SJZY.Track.Application.Contract.Services.ProvideServices; @@ -265,6 +267,8 @@ public partial class TrackService : ApplicationService, ITrackService [HttpPost("Track/Upsert")] public async Task UpsertTrackAsync(UpsertTrackInput input) { + using var activity = ActivityHelper.CreateSpanActivity("UpsertTrack"); + activity.SetTag("UpsertTrackInput", input.ToJson()); var order = await _orderRepository.GetFirstAsync(x => x.SubSystemId == input.SubSystemId && x.OrderType == input.OrderType @@ -338,6 +342,8 @@ public partial class TrackService : ApplicationService, ITrackService [HttpPost("Track/BatchUpsert")] public async Task BatchUpsertTrackAsync(BatchUpsertTrackInput input) { + using var activity = ActivityHelper.CreateSpanActivity("BatchUpsert"); + activity.SetTag("BatchUpsertTrackInput", input.ToJson()); input.OrderNos = input.OrderNos.Where(x => !x.IsNullOrWhiteSpace()).Distinct().ToList(); // 单号去重、去空 var orders = await _orderRepository.GetListAsync(x => x.SubSystemId == input.SubSystemId