[Profiler] Support online profiling (#1136)

Signed-off-by: gcanlin <canlinguosdu@gmail.com>
Signed-off-by: Canlin Guo <961750412@qq.com>
Co-authored-by: Hongsheng Liu <liuhongsheng4@huawei.com>
Co-authored-by: Nicolò Lucchesi <nicolo.lucchesi@gmail.com>
This commit is contained in:
authored and GitHub committed 2026-02-27 14:41:20 +08:00
1 parent 0cc3481acf
commit eaef3a31a4
5 files changed
+150 -8

No files matched your search

@@ -310,3 +310,29 @@ class AsyncOmniDiffusion:
None,
)
return all(results) if isinstance(results, list) else results
async def start_profile(self, trace_filename: str | None = None) -> None:
"""Start profiling for the diffusion model.
Args:
trace_filename: Optional base filename for trace files.
If None, a timestamp-based name will be generated.
"""
loop = asyncio.get_event_loop()
await loop.run_in_executor(
self._executor,
self.engine.start_profile,
trace_filename,
)
async def stop_profile(self) -> dict:
"""Stop profiling and return profiling results.
Returns:
Dictionary containing paths to trace and table files.
"""
loop = asyncio.get_event_loop()
return await loop.run_in_executor(
self._executor,
self.engine.stop_profile,
)