TomoDiag
Diagnostics & CPU Profiler for the TomoSuite collection.
TomoDiag is a standalone development tool that captures Lua errors in the background and profiles addon CPU usage in real time — all without disrupting your gameplay.
Diagnostics Console (/tmdiag)
- Background error capture — hooks into WoW's error handler silently. No popups during combat, ever.
- Taint tracking — catches ADDON_ACTION_BLOCKED and ADDON_ACTION_FORBIDDEN events automatically.
- Smart filtering — gameplay messages (out of range, cooldowns, resource errors) are excluded across all locales so you only see real bugs.
- Deduplication & flood protection — identical errors are grouped with a count badge. Hard cap of 30 captures per second.
- Filter tabs — quickly switch between All, Errors, Taint, Warnings, or TomoSuite-only views.
- Expandable stack traces — click + on any entry to reveal the full stack and pinpoint the source.
- One-click export — generates a clean plaintext report (Ctrl+A, Ctrl+C) ready to paste into a bug tracker or Discord.
- Session tracking — each login increments a session counter so you can correlate errors with play sessions.
CPU Profiler (/tmdiag cpu)
- Powered by C_AddOnProfiler — uses WoW's native TWW profiling API. No scriptProfile CVar toggle, no /reload required, minimal overhead.
- Per-addon metrics — tracks Average ms/frame, Peak ms, Total ms, % of total, and spike counts (>1ms, >5ms, >10ms, >50ms) for every loaded addon.
- Sortable columns — click any column header to sort ascending or descending. Your sort preference is saved.
- Combat peak tracking — automatically snapshots peak CPU usage during combat encounters. Hover any row to see its combat peak in a tooltip.
- Color-coded severity — values shift from green to gold to orange to red so problem addons jump out instantly.
- TomoSuite highlight — all Tomo* addons are highlighted in purple for quick identification.
- "TomoSuite only" filter — one checkbox to hide everything except TomoSuite addons.
- Auto-start — if the profiler was running when you logged out, it resumes automatically on next login.
Quick Start
- Drop the
TomoDiag folder into Interface/AddOns/
- Type
/tmdiag to open the diagnostics console
- Type
/tmdiag cpu to open the CPU profiler
- Or use the Addon Compartment button on your minimap bar (left-click = diagnostics, right-click = profiler)
Slash Commands
| Command | Action |
/tmdiag | Toggle diagnostics console |
/tmdiag cpu | Toggle CPU profiler overlay |
/tmdiag cpu start | Start profiling |
/tmdiag cpu stop | Stop profiling |
/tmdiag cpu reset | Reset all profiling data |
/tmdiag clear | Clear captured errors |
/tmdiag export | Open the export frame |
/tmdiag on / off | Enable/disable error capture |
/tmdiag help | Show all commands |
Aliases: /tomodiag, /tmd
Requirements
- World of Warcraft: The War Within or later (Interface 120001+)
- CPU Profiler requires C_AddOnProfiler (TWW native API). The diagnostics console works on any client.
- No external libraries required. Fully standalone.
Optional
If TomoMod is installed, TomoDiag will use its Poppins font family for a consistent look across the suite. Otherwise it falls back to the default WoW font.
Part of the TomoSuite
TomoDiag is part of the TomoSuite addon collection, which includes TomoMod, TomoFrames, TomoPlates, TomoCastbar, TomoPartyPro, BossReminder, and more. Each addon works independently — install only what you need.