FEATURE: Add automation statistics tracking to Automation (#31921)

introduces comprehensive statistics tracking for the Discourse
Automation plugin, allowing users to monitor the performance and
execution patterns of their automations:

- Add `discourse_automation_stats` table to track execution metrics
including run counts, execution times, and performance data
- Create a new `Stat` model to handle tracking and retrieving automation
statistics
- Update the admin UI to display automation stats (runs today/this
week/month and last run time)
- Modernize the automation list interface using Glimmer components
- Replace the older enable/disable icon with a toggle switch for better
UX
- Add schema annotations to existing models for better code
documentation
- Include extensive test coverage for the new statistics functionality

This helps administrators understand how their automations are
performing and identify potential bottlenecks or optimization
opportunities.

---------

Co-authored-by: Joffrey JAFFEUX <j.jaffeux@gmail.com>
Co-authored-by: Ted Johansson <ted@discourse.org>
This commit is contained in:
Sam
2025-03-21 12:53:26 +11:00
committed by GitHub
parent dd0a6bd188
commit 8c8bc94ed8
16 changed files with 906 additions and 192 deletions

View File

@ -7,3 +7,14 @@ module DiscourseAutomation
belongs_to :automation, class_name: "DiscourseAutomation::Automation"
end
end
# == Schema Information
#
# Table name: discourse_automation_pending_automations
#
# id :bigint not null, primary key
# automation_id :bigint not null
# execute_at :datetime not null
# created_at :datetime not null
# updated_at :datetime not null
#