feat: log feed screenshot take/cv elapsed time

This commit is contained in:
lilong.129
2023-08-14 00:33:10 +08:00
parent 43c6de50c2
commit 41ef134ed4
3 changed files with 26 additions and 11 deletions
+14 -7
View File
@@ -59,7 +59,12 @@ type ScreenResult struct {
SwipeStartTime int64 `json:"swipe_start_time"` // 滑动开始时间戳 SwipeStartTime int64 `json:"swipe_start_time"` // 滑动开始时间戳
SwipeFinishTime int64 `json:"swipe_finish_time"` // 滑动结束时间戳 SwipeFinishTime int64 `json:"swipe_finish_time"` // 滑动结束时间戳
Elapsed int64 `json:"elapsed"` // current_swipe_finish -> next_swipe_start 整体耗时(ms)
ScreenshotTakeElapsed int64 `json:"screenshot_take_elapsed"` // 设备截图耗时(ms)
ScreenshotCVElapsed int64 `json:"screenshot_cv_elapsed"` // CV 识别耗时(ms)
// 当前 Feed/Live 整体耗时
TotalElapsed int64 `json:"total_elapsed"` // current_swipe_finish -> next_swipe_start 整体耗时(ms)
} }
type cacheStepData struct { type cacheStepData struct {
@@ -231,12 +236,14 @@ func (dExt *DriverExt) GetStepCacheData() map[string]interface{} {
"width": screenSize.Width, "width": screenSize.Width,
"height": screenSize.Height, "height": screenSize.Height,
}, },
"video_type": screenResult.VideoType, "video_type": screenResult.VideoType,
"feed": screenResult.Feed, "feed": screenResult.Feed,
"live": screenResult.Live, "live": screenResult.Live,
"swipe_start_time": screenResult.SwipeStartTime, "swipe_start_time": screenResult.SwipeStartTime,
"swipe_finish_time": screenResult.SwipeFinishTime, "swipe_finish_time": screenResult.SwipeFinishTime,
"elapsed": screenResult.Elapsed, "screenshot_take_elapsed": screenResult.ScreenshotTakeElapsed,
"screenshot_cv_elapsed": screenResult.ScreenshotCVElapsed,
"total_elapsed": screenResult.TotalElapsed,
} }
screenResults[imagePath] = data screenResults[imagePath] = data
+10 -2
View File
@@ -343,12 +343,14 @@ type IImageService interface {
// GetScreenResult takes a screenshot, returns the image recognization result // GetScreenResult takes a screenshot, returns the image recognization result
func (dExt *DriverExt) GetScreenResult() (screenResult *ScreenResult, err error) { func (dExt *DriverExt) GetScreenResult() (screenResult *ScreenResult, err error) {
startTime := time.Now()
var bufSource *bytes.Buffer var bufSource *bytes.Buffer
var imagePath string var imagePath string
if bufSource, imagePath, err = dExt.takeScreenShot( if bufSource, imagePath, err = dExt.takeScreenShot(
builtin.GenNameWithTimestamp("%d_cv")); err != nil { builtin.GenNameWithTimestamp("%d_cv")); err != nil {
return return
} }
screenshotTakeElapsed := time.Since(startTime).Milliseconds()
imageResult, err := dExt.ImageService.GetImage(bufSource, actionOptions{"ocr", "upload", "liveType"}) imageResult, err := dExt.ImageService.GetImage(bufSource, actionOptions{"ocr", "upload", "liveType"})
if err != nil { if err != nil {
@@ -364,8 +366,10 @@ func (dExt *DriverExt) GetScreenResult() (screenResult *ScreenResult, err error)
} }
screenResult = &ScreenResult{ screenResult = &ScreenResult{
Texts: imageResult.OCRResult.ToOCRTexts(), Texts: imageResult.OCRResult.ToOCRTexts(),
Tags: nil, Tags: nil,
ScreenshotTakeElapsed: screenshotTakeElapsed,
ScreenshotCVElapsed: time.Since(startTime).Milliseconds() - screenshotTakeElapsed,
} }
if imageResult.LiveType != "" && imageResult.LiveType != "NoLive" { if imageResult.LiveType != "" && imageResult.LiveType != "NoLive" {
screenResult.Live = &LiveRoom{ screenResult.Live = &LiveRoom{
@@ -374,6 +378,10 @@ func (dExt *DriverExt) GetScreenResult() (screenResult *ScreenResult, err error)
} }
dExt.cacheStepData.screenResults[imagePath] = screenResult dExt.cacheStepData.screenResults[imagePath] = screenResult
log.Debug().
Int64("ScreenshotTakeElapsed", screenResult.ScreenshotTakeElapsed).
Int64("ScreenshotCVElapsed", screenResult.ScreenshotCVElapsed).
Msg("get screenshot result success")
return screenResult, nil return screenResult, nil
} }
+2 -2
View File
@@ -277,7 +277,7 @@ func (l *LiveCrawler) Run(driver *DriverExt, enterPoint PointF) error {
// log swipe timelines // log swipe timelines
screenResult.SwipeStartTime = swipeStartTime.UnixMilli() screenResult.SwipeStartTime = swipeStartTime.UnixMilli()
screenResult.SwipeFinishTime = swipeFinishTime.UnixMilli() screenResult.SwipeFinishTime = swipeFinishTime.UnixMilli()
screenResult.Elapsed = time.Since(swipeFinishTime).Milliseconds() screenResult.TotalElapsed = time.Since(swipeFinishTime).Milliseconds()
} }
} }
@@ -440,7 +440,7 @@ func (dExt *DriverExt) VideoCrawler(configs *VideoCrawlerConfigs) (err error) {
// log swipe timelines // log swipe timelines
screenResult.SwipeStartTime = swipeStartTime.UnixMilli() screenResult.SwipeStartTime = swipeStartTime.UnixMilli()
screenResult.SwipeFinishTime = swipeFinishTime.UnixMilli() screenResult.SwipeFinishTime = swipeFinishTime.UnixMilli()
screenResult.Elapsed = time.Since(swipeFinishTime).Milliseconds() screenResult.TotalElapsed = time.Since(swipeFinishTime).Milliseconds()
} }
} }
} }