Never install this plugin on a production instance. It is a development tool. Every page exposes internal arguments, appends to a log file, and adds DOM elements to Matomo's UI.
HooksViewer subscribes to every event Matomo dispatches and shows you, in real time, which hooks fire — where they fire, in what order, and with what arguments.
Two outputs run side by side:
- Inline panel in the Matomo UI: each event is rendered as a
<details><summary>block at the exact spot in the DOM where it was dispatched. Open the summary to see a pretty-printed, multi-line dump of the hook arguments. Widget XHRs (format=html) also surface their internal hooks likeViewDataTable.filterViewDataTable,Visualization.beforeRender,Metrics.isLowerValueBetter, etc. - Log file at
tmp/logs/hooksviewer.log. Every hook from every request — including JSON API calls, tracker hits, and CLI commands — is appended with timestamp, request id, and arguments. Watch withtail -f tmp/logs/hooksviewer.log.
The plugin never injects markup into JSON, XML, CSV, image, or tracker responses, so Matomo's API stays valid and the dashboard, widgets, and third-party clients keep working.
The list of subscribed events is discovered automatically by scanning
core/ and plugins/ for Piwik::postEvent('…') call sites the first
time the plugin runs (and whenever a source file is added/removed/edited).
The result is cached in tmp/cache/hooksviewer-catalog.php.
You do not have to update the plugin when Matomo introduces new events — they show up the next time the cache is rebuilt.
This plugin is published on the official Matomo Marketplace.
- Open the Marketplace in your Matomo admin.
- Search for HooksViewer.
- Install, then activate.
- Activate the plugin while you are exploring or debugging.
- Browse the page or trigger the workflow you care about.
- Read the inline
<details>blocks, ortail -fthe log. - Deactivate the plugin when you are done.
- Matomo 5.x
- PHP 7.4+
Built by Openmost. Issues and pull requests welcome at https://github.com/openmost/HooksViewer.
GPL v3 or later.