From 234f8399ab9bc5f7a41fa3d4a96091b242813d97 Mon Sep 17 00:00:00 2001 From: laodaming <11058467+laudamine@user.noreply.gitee.com> Date: Mon, 13 Nov 2023 09:57:52 +0800 Subject: [PATCH 1/5] fix --- server/websocket/internal/logic/ws_statistics.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/server/websocket/internal/logic/ws_statistics.go b/server/websocket/internal/logic/ws_statistics.go index 76eba02d..cdb40dbb 100644 --- a/server/websocket/internal/logic/ws_statistics.go +++ b/server/websocket/internal/logic/ws_statistics.go @@ -222,6 +222,7 @@ func ConsumeWebsocketStatData() { //保存统计 mapUserWsStat.Store(key, stat) case TYPE_CUR_COMBINE_IMAGE_COUNT: //请求算法合图计数 + curCombineTotalCount += data.Num //不存在 if !ok { continue @@ -232,11 +233,11 @@ func ConsumeWebsocketStatData() { logx.Error("断言mapUserWsStatItem错误") continue } - curCombineTotalCount += data.Num stat.CurCombineCount += data.Num //保存统计 mapUserWsStat.Store(key, stat) case TYPE_CUR_UNITY_HANDLE_COUNT: //unity处理计数 + curUnityHandleTotalCount += data.Num if !ok { continue } @@ -246,11 +247,11 @@ func ConsumeWebsocketStatData() { logx.Error("断言mapUserWsStatItem错误") continue } - curUnityHandleTotalCount += data.Num stat.CurUnityHandleCount += data.Num //保存统计 mapUserWsStat.Store(key, stat) case TYPE_CUR_COMBINE_IMAGE_ERR_COUNT: //合图失败计数 + combineErrTotalCount += data.Num if !ok { continue } @@ -260,11 +261,11 @@ func ConsumeWebsocketStatData() { logx.Error("断言mapUserWsStatItem错误") continue } - combineErrTotalCount += data.Num stat.CombineErrCount += data.Num //保存统计 mapUserWsStat.Store(key, stat) case TYPE_UNITY_ERR_COUNT: //unity错误信息 + unityErrTotalCount += data.Num if !ok { continue } @@ -274,7 +275,6 @@ func ConsumeWebsocketStatData() { logx.Error("断言mapUserWsStatItem错误") continue } - unityErrTotalCount += data.Num stat.UnityErrCount += data.Num //保存统计 mapUserWsStat.Store(key, stat) From 27c571e4a685df984b470b51f91567b239084eb3 Mon Sep 17 00:00:00 2001 From: laodaming <11058467+laudamine@user.noreply.gitee.com> Date: Mon, 13 Nov 2023 10:13:51 +0800 Subject: [PATCH 2/5] fix --- server/websocket/internal/handler/rendernotifyhandler.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/server/websocket/internal/handler/rendernotifyhandler.go b/server/websocket/internal/handler/rendernotifyhandler.go index 63a84e1f..5c6f3b95 100644 --- a/server/websocket/internal/handler/rendernotifyhandler.go +++ b/server/websocket/internal/handler/rendernotifyhandler.go @@ -1,6 +1,8 @@ package handler import ( + "github.com/zeromicro/go-zero/core/logx" + "io" "net/http" "reflect" @@ -13,7 +15,8 @@ import ( func RenderNotifyHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { - + b,_ := io.ReadAll(r.Body) + logx.Info("渲染回调数据:",string(b)) var req types.RenderNotifyReq userinfo, err := basic.RequestParse(w, r, svcCtx, &req) if err != nil { From 7004812acfd660b8adc1bd09d2fd4a69d17f6803 Mon Sep 17 00:00:00 2001 From: laodaming <11058467+laudamine@user.noreply.gitee.com> Date: Mon, 13 Nov 2023 10:19:12 +0800 Subject: [PATCH 3/5] fix --- server/websocket/internal/handler/rendernotifyhandler.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/server/websocket/internal/handler/rendernotifyhandler.go b/server/websocket/internal/handler/rendernotifyhandler.go index 5c6f3b95..aaf682c2 100644 --- a/server/websocket/internal/handler/rendernotifyhandler.go +++ b/server/websocket/internal/handler/rendernotifyhandler.go @@ -1,6 +1,8 @@ package handler import ( + "encoding/json" + "fmt" "github.com/zeromicro/go-zero/core/logx" "io" "net/http" @@ -16,7 +18,10 @@ import ( func RenderNotifyHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { b,_ := io.ReadAll(r.Body) - logx.Info("渲染回调数据:",string(b)) + var c map[string]interface{} + _ = json.Unmarshal(b,&c) + c["image"] = nil + logx.Info(fmt.Sprintf("回调渲染数据:%+v",c)) var req types.RenderNotifyReq userinfo, err := basic.RequestParse(w, r, svcCtx, &req) if err != nil { From 8c09cf76351b5ebc6161e55d6c4d643ae1632d9d Mon Sep 17 00:00:00 2001 From: laodaming <11058467+laudamine@user.noreply.gitee.com> Date: Mon, 13 Nov 2023 10:35:51 +0800 Subject: [PATCH 4/5] fix --- server/websocket/internal/handler/rendernotifyhandler.go | 9 --------- server/websocket/internal/logic/rendernotifylogic.go | 9 +++++++++ server/websocket/internal/logic/ws_render_image.go | 1 + server/websocket/internal/types/types.go | 9 +++++---- server_api/websocket.api | 9 +++++---- utils/websocket_data/render_data.go | 1 + 6 files changed, 21 insertions(+), 17 deletions(-) diff --git a/server/websocket/internal/handler/rendernotifyhandler.go b/server/websocket/internal/handler/rendernotifyhandler.go index aaf682c2..5a6ddf34 100644 --- a/server/websocket/internal/handler/rendernotifyhandler.go +++ b/server/websocket/internal/handler/rendernotifyhandler.go @@ -1,10 +1,6 @@ package handler import ( - "encoding/json" - "fmt" - "github.com/zeromicro/go-zero/core/logx" - "io" "net/http" "reflect" @@ -17,11 +13,6 @@ import ( func RenderNotifyHandler(svcCtx *svc.ServiceContext) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { - b,_ := io.ReadAll(r.Body) - var c map[string]interface{} - _ = json.Unmarshal(b,&c) - c["image"] = nil - logx.Info(fmt.Sprintf("回调渲染数据:%+v",c)) var req types.RenderNotifyReq userinfo, err := basic.RequestParse(w, r, svcCtx, &req) if err != nil { diff --git a/server/websocket/internal/logic/rendernotifylogic.go b/server/websocket/internal/logic/rendernotifylogic.go index ed545373..397f7380 100644 --- a/server/websocket/internal/logic/rendernotifylogic.go +++ b/server/websocket/internal/logic/rendernotifylogic.go @@ -94,6 +94,14 @@ func (l *RenderNotifyLogic) RenderNotify(req *types.RenderNotifyReq, userinfo *a return resp.SetStatusWithMessage(basic.CodeFileUploadErr, "failed to upload render resource image") } uploadUnityRenderImageTakesTime := time.Now().UTC().UnixMilli() - unityRenderEndTime + //转换unity真实处理时间 + duration, err := time.Parse("15:04:05.9999999", req.CostTime) + if err != nil { + fmt.Println("解析时间错误:", err) + return resp.SetStatusWithMessage(basic.CodeFileUploadErr, "转换unity时间错误") + } + // 将时间对象转换为毫秒数 + unityRealTakesTime := duration.Nanosecond() / 1e6 + duration.Second()*1000 + duration.Minute() * 6000 + duration.Hour()*3600000 if ws.conn != nil { //发送到出口 ws.sendRenderResultData(websocket_data.RenderImageRspMsg{ @@ -102,6 +110,7 @@ func (l *RenderNotifyLogic) RenderNotify(req *types.RenderNotifyReq, userinfo *a RenderProcessTime: &websocket_data.RenderProcessTime{ UnityRenderTakesTime: fmt.Sprintf("%dms", unityRenderEndTime-unityRenderBeginTime), UploadUnityRenderImageTakesTime: fmt.Sprintf("%dms", uploadUnityRenderImageTakesTime), + UnityTakesTime: fmt.Sprintf("%dms",unityRealTakesTime), }, }) logx.Info("渲染回调成功,渲染结果图片为:", uploadRes.ResourceUrl) diff --git a/server/websocket/internal/logic/ws_render_image.go b/server/websocket/internal/logic/ws_render_image.go index dea2895c..5dd41643 100644 --- a/server/websocket/internal/logic/ws_render_image.go +++ b/server/websocket/internal/logic/ws_render_image.go @@ -273,6 +273,7 @@ func (w *wsConnectItem) renderImage(renderImageData websocket_data.RenderImageRe RenderProcessTime: &websocket_data.RenderProcessTime{ UnityRenderTakesTime: "cache", UploadUnityRenderImageTakesTime: "cache", + UnityTakesTime: "cache", }, }) return diff --git a/server/websocket/internal/types/types.go b/server/websocket/internal/types/types.go index 4e7c59c4..fb5e3185 100644 --- a/server/websocket/internal/types/types.go +++ b/server/websocket/internal/types/types.go @@ -10,10 +10,11 @@ type DataTransferReq struct { } type RenderNotifyReq struct { - TaskId string `json:"task_id"` - Image string `json:"image"` - Code int `json:"code,optional"` - Msg string `json:"msg,optional"` + TaskId string `json:"task_id"` + Image string `json:"image"` + Code int `json:"code,optional"` + Msg string `json:"msg,optional"` + CostTime string `json:"cost_time"` //unity处理时间 } type CommonNotifyReq struct { diff --git a/server_api/websocket.api b/server_api/websocket.api index ed6dcab1..2ebfd044 100644 --- a/server_api/websocket.api +++ b/server_api/websocket.api @@ -29,10 +29,11 @@ type DataTransferReq { } //渲染完了通知接口 type RenderNotifyReq { - TaskId string `json:"task_id"` - Image string `json:"image"` - Code int `json:"code,optional"` - Msg string `json:"msg,optional"` + TaskId string `json:"task_id"` + Image string `json:"image"` + Code int `json:"code,optional"` + Msg string `json:"msg,optional"` + CostTime string `json:"cost_time"` //unity处理时间 } //通用回调接口 type CommonNotifyReq { diff --git a/utils/websocket_data/render_data.go b/utils/websocket_data/render_data.go index 22ac1cb3..71f7eead 100644 --- a/utils/websocket_data/render_data.go +++ b/utils/websocket_data/render_data.go @@ -35,6 +35,7 @@ type RenderImageRspMsg struct { type RenderProcessTime struct { UnityRenderTakesTime string `json:"unity_render_takes_time"` //unity渲染用时 UploadUnityRenderImageTakesTime string `json:"upload_unity_render_image_takes_time"` //上传unity渲染结果图时间 + UnityTakesTime string `json:"unity_takes_time"` //unity真实处理时间 } // 合图返回数据 From 14b70c809c2179f2dd6726d32aae6c738ba2394a Mon Sep 17 00:00:00 2001 From: laodaming <11058467+laudamine@user.noreply.gitee.com> Date: Mon, 13 Nov 2023 10:42:22 +0800 Subject: [PATCH 5/5] fix --- server/websocket/internal/logic/rendernotifylogic.go | 2 +- server/websocket/internal/logic/ws_render_image.go | 2 +- utils/websocket_data/render_data.go | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/server/websocket/internal/logic/rendernotifylogic.go b/server/websocket/internal/logic/rendernotifylogic.go index 397f7380..87b93d50 100644 --- a/server/websocket/internal/logic/rendernotifylogic.go +++ b/server/websocket/internal/logic/rendernotifylogic.go @@ -110,7 +110,7 @@ func (l *RenderNotifyLogic) RenderNotify(req *types.RenderNotifyReq, userinfo *a RenderProcessTime: &websocket_data.RenderProcessTime{ UnityRenderTakesTime: fmt.Sprintf("%dms", unityRenderEndTime-unityRenderBeginTime), UploadUnityRenderImageTakesTime: fmt.Sprintf("%dms", uploadUnityRenderImageTakesTime), - UnityTakesTime: fmt.Sprintf("%dms",unityRealTakesTime), + UnityRealTakesTime: fmt.Sprintf("%dms",unityRealTakesTime), }, }) logx.Info("渲染回调成功,渲染结果图片为:", uploadRes.ResourceUrl) diff --git a/server/websocket/internal/logic/ws_render_image.go b/server/websocket/internal/logic/ws_render_image.go index 5dd41643..ec492f24 100644 --- a/server/websocket/internal/logic/ws_render_image.go +++ b/server/websocket/internal/logic/ws_render_image.go @@ -273,7 +273,7 @@ func (w *wsConnectItem) renderImage(renderImageData websocket_data.RenderImageRe RenderProcessTime: &websocket_data.RenderProcessTime{ UnityRenderTakesTime: "cache", UploadUnityRenderImageTakesTime: "cache", - UnityTakesTime: "cache", + UnityRealTakesTime: "cache", }, }) return diff --git a/utils/websocket_data/render_data.go b/utils/websocket_data/render_data.go index 71f7eead..1aa69ddd 100644 --- a/utils/websocket_data/render_data.go +++ b/utils/websocket_data/render_data.go @@ -35,7 +35,7 @@ type RenderImageRspMsg struct { type RenderProcessTime struct { UnityRenderTakesTime string `json:"unity_render_takes_time"` //unity渲染用时 UploadUnityRenderImageTakesTime string `json:"upload_unity_render_image_takes_time"` //上传unity渲染结果图时间 - UnityTakesTime string `json:"unity_takes_time"` //unity真实处理时间 + UnityRealTakesTime string `json:"unity_real_takes_time"`//unity真实处理时间 } // 合图返回数据