⚡ Dash Devtools Plus v0.1.4 — Find Slow Callbacks with Live Performance Insights

Hi Dash community!

I’m excited to share Dash Devtools Plus v0.1.4, a new release of the open-source Dash debugging enhancement powered by Dash Hooks. This update brings live callback performance monitoring to the Callback relationships workspace.

Dash Devtools Plus logo

Project repository: github.com/CNFeffery/dash-devtools-plus
Release notes: Dash Devtools Plus v0.1.4
First introduction: Dash Devtools Plus — Supercharge Your Dash Debugging with Source Jumps, Live Insights & More

Quick start

pip install dash-devtools-plus -U

Run your Dash app with debug=True, then open Devtools Plus → Callback relationships from Dash’s native Dev Tools toolbar. Dash discovers the package through Dash Hooks, so no extra import is needed when the defaults work for you.

Find the callbacks worth investigating

The Metrics toggle sits in the upper-right corner of the Callback relationships manager. Switch it to move between two views of the same callback table:

Metrics off — focus on callback relationships. The table shows callback type, source location, Output/Input/State roles, docstrings, and the Details action. This keeps the dependency structure easy to scan.

Callback relationships with performance metrics off

Metrics on — compare callback performance. Turning on Show performance metrics adds six independently sortable columns: Last execution, Executions, Average, Latest, Minimum, and Maximum. Sort by count or duration to bring frequently triggered or slow callbacks to the top; the ordering stays applied as new measurements arrive. Scroll the table horizontally to see the remaining performance and dependency columns.

Callback relationships with live performance metrics on

See what happened on each run

Open Details on a callback and scroll to Execution performance. The latest duration is shown alongside its completion status and difference from the current session average. You can also see execution count, average, minimum, maximum, and the sample counts behind those numbers.

The trend chart shows up to 30 measured executions, with server time and “Network & other” time shown separately where Dash provides a reliable split. The execution history starts with the latest 5 records and expands to 20. Each record can show total duration, timing breakdown, transfer estimates, and an outcome such as success, no-update, HTTP error, no response, or clientside error. Request and response totals are summarized below the chart; custom ctx.record_timing stages appear when available.

Live callback performance, duration trend, and execution history

The callback details view has also been refined: source information, dependency roles, runtime settings, and the callback data-flow diagram are easier to inspect, with a fullscreen view for larger dependency graphs.

Callback details and dependency data flow in v0.1.4

Measurement scope: These metrics describe the current browser page session and reset on a full reload. Transfer sizes are estimates rather than exact byte counts, and some callback types have only total duration available. The panel appears only in a debug-enabled Dash session.

Useful links: v0.1.4 release notes · callback monitoring guide · project repository

I’d love to hear how this works in your apps, especially which callback performance signals you find most useful.

Awesome additions, thank you for making this available!