diff --git a/trace_streamer/src/rpc/ffrt_converter.cpp b/trace_streamer/src/rpc/ffrt_converter.cpp index dc353b1fb4e18c50f5d8c1c502543520abd6cf94..d467a2aec3266bc5452248927eab77ee8c28d5dc 100644 --- a/trace_streamer/src/rpc/ffrt_converter.cpp +++ b/trace_streamer/src/rpc/ffrt_converter.cpp @@ -615,7 +615,6 @@ void FfrtConverter::FindFfrtProcClassifyLogs(LogInfo logInfo, WakeLogs &traceMap traceMap[tid] = {}; } traceMap[tid].emplace_back(logInfo.lineno); - return; } ParseOtherTraceLogs(LogInfo{logInfo.log, logInfo.lineno, static_cast(pid), tid}, traceMap, ffrtWakeLogs); } @@ -776,7 +775,11 @@ static std::string ConvertWorkerLogToTask(ConStr &mark, int pid, int tid, int gi } } if (mark.find("sched_blocked_reason: ") != std::string::npos) { - return ReplaceSchedBlockLog(fakeLog, pid, gid); + if (mark.find("pid=" + std::to_string(tid)) != std::string::npos) { + return ReplaceSchedBlockLog(fakeLog, pid, gid); + } else { + return ReplaceTracingMarkLog(fakeLog, label, pid, gid); + } } return ReplaceTracingMarkLog(fakeLog, label, pid, gid); }