概要
Windows 托盘启动被观察到可能需要约 10 秒,但当前代码没有启动阶段耗时埋点,无法判断具体慢在哪一步。
当前行为
托盘启动路径会构建菜单、创建托盘图标、加载嵌入图标资源、启动 worker 线程、加载配置并发送初始快照。这些阶段目前都没有记录耗时。
从当前代码看,托盘初始化阶段并不会主动执行 mDNS 发现,因此稳定 10 秒级延迟需要进一步测量确认。
相关代码
src/ui/tray/windows.rs: TrayApp::initialize
src/ui/tray/windows.rs: TrayMenu::build
src/ui/tray/windows.rs: load_tray_icon
src/ui/tray/windows.rs: spawn_worker
src/app/facade.rs: AppFacade::new
src/config/file.rs: load_config
期望行为
启动日志应能清楚区分延迟来自托盘图标创建、资源加载、配置读取、worker 初始化、杀毒软件/冷启动开销,还是其他阶段。
建议修复
为以下阶段增加 Instant 耗时日志:
TrayMenu::build
platform::is_start_at_login_enabled
load_tray_icon
TrayIconBuilder::build
spawn_worker
AppFacade::new
- 初始
worker.snapshot()
这些日志应接入现有 tracing/logging,不影响 release 正常行为。
概要
Windows 托盘启动被观察到可能需要约 10 秒,但当前代码没有启动阶段耗时埋点,无法判断具体慢在哪一步。
当前行为
托盘启动路径会构建菜单、创建托盘图标、加载嵌入图标资源、启动 worker 线程、加载配置并发送初始快照。这些阶段目前都没有记录耗时。
从当前代码看,托盘初始化阶段并不会主动执行 mDNS 发现,因此稳定 10 秒级延迟需要进一步测量确认。
相关代码
src/ui/tray/windows.rs:TrayApp::initializesrc/ui/tray/windows.rs:TrayMenu::buildsrc/ui/tray/windows.rs:load_tray_iconsrc/ui/tray/windows.rs:spawn_workersrc/app/facade.rs:AppFacade::newsrc/config/file.rs:load_config期望行为
启动日志应能清楚区分延迟来自托盘图标创建、资源加载、配置读取、worker 初始化、杀毒软件/冷启动开销,还是其他阶段。
建议修复
为以下阶段增加
Instant耗时日志:TrayMenu::buildplatform::is_start_at_login_enabledload_tray_iconTrayIconBuilder::buildspawn_workerAppFacade::newworker.snapshot()这些日志应接入现有 tracing/logging,不影响 release 正常行为。