Contents

Health - Plugixa Activity Log

Every other screen is about the site. The Health screen is about the log itself, and it answers one question: is the log in good shape, or is something quietly not happening?

The Health screen, with events stored, table size, oldest event and the seven-day average, the list of checks, the events per day chart and the scheduled jobs table

It is under Monitoring -> Health, and is shown to people who may change settings. Refresh at the top right measures everything again.

The four figures

Figure How it is measured
Events stored Counted exactly up to 10,000. Above that, the database’s own estimate, shown as ≈ N
Table size Data plus indexes, as the database reports it. A dash when the database does not say
Oldest event How long ago the earliest event in the log happened
Events per day (7-day average) The last seven days, in the site’s timezone, averaged

The ≈ is honest, not vague. Counting millions of rows exactly is the slowest thing a log can do. Past ten thousand the database’s estimate is used instead, and it can be off by tens of percent. Treat it as “about 1.2 million”, not as a figure to reconcile.

Oldest event is the quickest check on retention. With events kept for 90 days, it should read about three months. If it reads a year, the daily clean-up is not running.

Checks

Each check gives a verdict - Good, Check or Needs attention - a short figure, and one sentence on what it means or what to do.

Check Check when Needs attention when
Recording Nothing has been recorded for 7 days Never
Retention Nothing is ever deleted, or the log holds events older than the retention period plus two days Never
Scheduled jobs A job is overdue A job is stalled
Notification queue The oldest delivery has waited more than an hour More than a day

Two Pro features PRO add a check of their own to this list, and no others do: the file integrity scan, and File mirror folder, which says whether a visitor could download the mirrored log. See File Integrity and Mirrors.

Recording on a site nobody touched for a week is not a fault, but it is worth one look at Monitors to be sure the ones you rely on are on.

Retention warns about a log that is kept for ever: zero days and zero maximum events, or the Retention feature switched off. The two days of grace on the other condition are there because the clean-up runs daily and works through a large backlog over several runs. See Retention.

Events per day

One bar per day for the last 30 days, in the site’s timezone, with quiet days drawn as zero. It is the growth rate of the table: multiply the average by your retention period and you have roughly how many events the log will settle at.

Scheduled jobs

Old events are removed, notifications are sent and history is imported by scheduled jobs. If those do not run, nothing visibly breaks. The log just keeps growing and the emails stop. This table is where you see it.

It lists every job of the plugin with what repeats, when it runs next, and a status:

Status Meaning
Scheduled Booked, and not more than an hour late
Overdue More than an hour late
Stalled More than a day late. Nothing is running WP-Cron
Not booked A feature has this job but has not booked it

Not booked is usually normal. Several jobs are booked only when there is work: an empty notification queue, a report nobody scheduled, a database download with no licence key entered.

Overdue on a quiet site is expected. WP-Cron runs only when somebody visits the site, so with no visitors, jobs wait. The fix for a site that is quiet by nature is a server cron job that calls wp-cron.php.

If DISABLE_WP_CRON is set, a notice at the top says so. That is fine as long as a server cron job is doing the work, and the Scheduled jobs check tells you which it is: Server cron when jobs are on time, Running late or Stalled when nothing is running them.

The card’s caption shows Notifications waiting: deliveries in the queue right now. A number that goes up and never comes down is the same problem seen from the other side.

In WordPress Site Health

The same feature adds two tests and an Info section to WordPress’s own Tools -> Site Health, for the people who look there rather than here.

  • The activity log’s scheduled jobs are running - recommended when a job is overdue, critical when one is stalled.
  • The activity log is kept to a sensible size - recommended when the clean-up is behind, or when the log keeps everything for ever and has passed a million events.
  • Info -> Plugixa Activity Log - version, events stored, table size, oldest event, retention, WP-Cron, next clean-up and notifications waiting. This is what to paste into a support request.

Only two tests, on purpose. Site Health is read by people who did not install this plugin, so it carries the problems that need acting on, not every figure.

For developers

Other code can add a check to the Health screen with the plugixa_activity_log_health_checks filter:

add_filter(
	'plugixa_activity_log_health_checks',
	static function ( array $checks, array $report ): array {
		$checks[] = array(
			'id'     => 'my_queue',     // unique slug
			'label'  => 'My queue',
			'status' => 'warning',      // good | warning | critical
			'value'  => '12 waiting',   // a short figure
			'hint'   => 'One sentence: what it means or what to do.',
		);

		return $checks;
	},
	10,
	2
);

Items without an id or a label are dropped, a repeated id keeps the first, and an unknown status is read as warning.

GET /wp-json/plugixa-activity-log/v1/health, for people who may change settings, returns the whole report: events, per_day, avg_7, avg_30, retention, cron, queue and checks. See the REST API.

Troubleshooting

Symptom Usual cause
“Health checks are switched off” Health was deactivated on the Monitors screen. Switch it back on.
Events stored shows ≈ The log holds more than 10,000 events, so the figure is the database’s estimate.
Table size is a dash The database did not report a size for the table.
Retention says “Kept for ever” Both retention limits are zero, or Retention is switched off.
Oldest event is far older than the retention period The daily clean-up is not running. Look at the scheduled jobs.
Every job is overdue Nothing is triggering WP-Cron. Add a server cron job.
One job says Not booked It has no work to do.
Notifications waiting keeps growing The send job is not running, or the site cannot send email.

What to do next

Quick Links