Skip to content

perf(windows-tray): 为初始化增加启动耗时埋点 #22

@ByteColtX

Description

@ByteColtX

概要

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 正常行为。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions