From c4a880c7f3be0b03c4812c5c0a4ec1751bc00ab0 Mon Sep 17 00:00:00 2001 From: hardstylewyl <827778732@qq.com> Date: Wed, 16 Apr 2025 15:04:24 +0800 Subject: [PATCH] =?UTF-8?q?perf:=E4=BC=98=E5=8C=96=E9=93=BE=E8=B7=AF?= =?UTF-8?q?=E8=BF=BD=E8=B8=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EventHandlers/TrackPushEventHandler.cs | 6 ++---- .../EventHandlers/TrackUpsertEventHandler.cs | 19 +++++++++---------- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/src/SJZY.Track.Application/CAP/EventHandlers/TrackPushEventHandler.cs b/src/SJZY.Track.Application/CAP/EventHandlers/TrackPushEventHandler.cs index 8c3aa60c..f96dd8dc 100644 --- a/src/SJZY.Track.Application/CAP/EventHandlers/TrackPushEventHandler.cs +++ b/src/SJZY.Track.Application/CAP/EventHandlers/TrackPushEventHandler.cs @@ -550,10 +550,8 @@ public class TrackPushEventHandler : ITransientDependency, ICapSubscribe //轨迹推送失败(被拦截) private void TrackPushFailedPublicTopic(string failedMessage, TrackPushEvent @event, OrderEntity order) { - using var activity = ActivityHelper.CreateSpanActivity("TrackPushFailedPublicTopic"); + using var activity = ActivityHelper.CreateSpanActivity($"TrackPushFailedPublicTopic-{order.OrderNo}"); activity.SetTag("failedMessage", failedMessage); - activity.SetTag("order", order.ToJson()); - activity.SetTag("@event", @event.ToJson()); _broadcastingService.TrackPushFailedPubilcTopic(new TrackPushRecordDto { SubSystemCode = @event.SubSystemCode, @@ -586,7 +584,7 @@ public class TrackPushEventHandler : ITransientDependency, ICapSubscribe List pushOrUpdateInputs ) { - using var activity = ActivityHelper.CreateSpanActivity("TrackPushFailedPublicTopic"); + using var activity = ActivityHelper.CreateSpanActivity("TrackPushFailedPublicTopic-All"); activity.SetTag("failedMessage", failedMessage.ToJson()); activity.SetTag("@event", @event.ToJson()); foreach (var pushInput in pushOrUpdateInputs) diff --git a/src/SJZY.Track.Application/CAP/EventHandlers/TrackUpsertEventHandler.cs b/src/SJZY.Track.Application/CAP/EventHandlers/TrackUpsertEventHandler.cs index f3b51b24..17702a1a 100644 --- a/src/SJZY.Track.Application/CAP/EventHandlers/TrackUpsertEventHandler.cs +++ b/src/SJZY.Track.Application/CAP/EventHandlers/TrackUpsertEventHandler.cs @@ -272,6 +272,10 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe var insertTracks = new List(); var updateTracks = new List(); var operationRecords = new List(); + var traceLog = new Dictionary + { + { "@event", @event.ToJson() } + }; foreach (var order in @event.OrderIdentifiers) { // fast path: by update with es id case @@ -308,15 +312,12 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe // 修改了extra,要校验修改后的extra是否存在 || (!string.IsNullOrWhiteSpace(@event.NewExtra) && x.Extra == @event.NewExtra)).ToList(); - using var activity = ActivityHelper.CreateSpanActivity("TrackUpsertEventHandler.UpsertTrackAsync"); if (@event.IsAdd) { if (existTracks.Count > 0) { _logger.LogInformation("订单已经存在不允许重复的轨迹,不允许重复添加:{@event}", @event); - activity.SetTag("errorMsg", "订单已经存在不允许重复的轨迹,不允许重复添加"); - activity.SetTag("order", order.ToJson()); - activity.SetTag("@event", @event.ToJson()); + traceLog.Add($"OrderNo-{order.OrderNo}", "订单已经存在不允许重复的轨迹,不允许重复添加"); continue; } @@ -328,18 +329,14 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe if (existTracks.Count == 0) { _logger.LogInformation("订单不存在轨迹,不允许修改:{@event}", @event); - activity.SetTag("errorMsg", "订单不存在轨迹,不允许修改"); - activity.SetTag("order", order.ToJson()); - activity.SetTag("@event", @event.ToJson()); + traceLog.Add($"OrderNo-{order.OrderNo}", "订单不存在轨迹,不允许修改"); continue; } if (existTracks.Count > 1) { _logger.LogInformation("订单存在多条轨迹不允许修改:{@event}", @event); - activity.SetTag("errorMsg", "订单存在多条轨迹不允许修改"); - activity.SetTag("order", order.ToJson()); - activity.SetTag("@event", @event.ToJson()); + traceLog.Add($"OrderNo-{order.OrderNo}", "订单存在多条轨迹不允许修改"); continue; } @@ -352,6 +349,8 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe canNextOrderIds.Add(order.OrderId); } + ActivityHelper.StartSpanActivity("UpsertTrackAsync", traceLog); + if (updateTracks.Any()) { // 批量差异化更新轨迹